Submission #596042

# Submission time Handle Problem Language Result Execution time Memory
596042 2022-07-14T09:29:53 Z AGE Sob (COCI19_sob) C++14
Compilation error
0 ms 0 KB
#include<bits/stdc++.h>
#define F first
#define S second
#define pb push_back
#define int long long

using namespace std;
const int N=2e6+10,M=2e3,mod=10;
int vis[N],cnt=1,mt[N];
vector<int>adj[N];

bool trykuhn(int node){

    if(vis[node]==cnt)
        return 0;

    vis[node]=cnt;

    for(auto x:adj[node]){
        if(mt[x]==-1){
            mt[x]=node;
            return 1;
        }
    }

    for(auto x:adj[node]){

        if(trykuhn(mt[x])){
            mt[x]=node;return 1;
        }

    }

    return 0;

}
main()
{

    if(n+m<=1000){
        int n,m;
        cin>>n>>m;

        for(int i=0;i<n;i++){
            for(int j=m;j<n+m;j++){

                if((i&j)==i)
                    adj[i].pb(j),adj[j].pb(i);
            }
        }

        for(int i=0;i<n+m;i++)
            mt[i]=-1;


        for(int i=0;i<n;i++){
            trykuhn(i),cnt++;
        }

        for(int i=0;i<n;i++)
            cout<<mt[i+m]<<" "<<i+m<<endl;
    }
    
    else{
            
        vector<pair<int,int>>v;
        
        for(int i=m;i<n+m;i++){
     
            bitset<32>bt;
            int num=0;
            bt=i;
     
            for(int j=0;j<31;j++){
                if(bt[j]==1){
                    num+=(1<<j);
     
                    if(vis[num]==0){
                        vis[num]=1;
                        break;
                    }
                }
            }
     
     
            if(num==n){
                num=0;
            }
     
            v.pb({num,i});
     
        }
     
        sort(v.begin(),v.end());
     
        for(int i=0;i<v.size();i++)
            cout<<v[i].F<<" "<<v[i].S<<endl;
     
    }
    return 0;

}

Compilation message

sob.cpp:37:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   37 | main()
      | ^~~~
sob.cpp: In function 'int main()':
sob.cpp:40:8: error: 'n' was not declared in this scope
   40 |     if(n+m<=1000){
      |        ^
sob.cpp:40:10: error: 'm' was not declared in this scope; did you mean 'mt'?
   40 |     if(n+m<=1000){
      |          ^
      |          mt
sob.cpp:41:13: error: redeclaration of 'long long int n'
   41 |         int n,m;
      |             ^
sob.cpp:40:8: note: '<typeprefixerror>n' previously declared here
   40 |     if(n+m<=1000){
      |        ^
sob.cpp:41:15: error: redeclaration of 'long long int m'
   41 |         int n,m;
      |               ^
sob.cpp:40:10: note: '<typeprefixerror>m' previously declared here
   40 |     if(n+m<=1000){
      |          ^
sob.cpp:96:22: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   96 |         for(int i=0;i<v.size();i++)
      |                     ~^~~~~~~~~