Submission #44290

# Submission time Handle Problem Language Result Execution time Memory
44290 2018-03-31T09:09:31 Z khohko None (JOI16_memory2) C++17
Compilation error
0 ms 0 KB
#include <bits/stdc++.h>
#include "grader.cpp"
//#include "Memory2_lib.h"
#pragma GCC optimize("O3")
using namespace std;
#define ll long long
#define lol long long
#define pb push_back
//#define mp make_pair
#define fr first
#define sc second
#define MAX ((lol)(1e9+100))
#define MX ((lol)(4e9+100))
#define ARRS ((lol)(1e6+100))
#define MOD ((lol)(1e9+7))
#define EP ((double)(1e-9))
#define EPS ((double)(1e-8))
#define pb push_back
#define PI ((double)3.141592653)
#define LG 21




//void Answer(int I, int J, int X)
//int Flip(int I, int J)

ll f[300];
ll c[300];

void Solve(int t, int n){

    vector<ll> v;

    for(int i=0; i<2*n; i++)
        f[i]=-1;
    for(int i=0; i<2*n; i++)
        v.pb(i);
    srand(32893);
    while(v.size()){
        ll k=rand()%v.size();

        for(int i=0; i<n; i++)c[i]=0;

//        cout<<k<<endl;
//       for(int i=0; i<v.size(); i++)
//            cout<<v[i]<<" - ";
//        cout<<endl;
        for(int i=0; i<v.size(); i++){
            if(i==k)continue;
            ll p=Flip(v[k],v[i]);
//            cout<<v[k]<<" "<<v[i]<<" "<<p<<endl;
            f[v[i]]=p;
            c[p]++;
        }
        //if(ed)break;
        ll pe=-2;
        for(int i=0; i<2*n; i++)
            if(pe==-2||c[pe]<c[i])pe=i;

        if(pe==-2||c[pe]<=2){
            ll ce=0;
            for(int i=0; i<2*n; i++){
                ce+=(f[i]!=-1);
            }
            if(ce==1){
                for(int i=0; i<n; i++)c[i]=0;
                for(int i=0; i<2*n; i++)c[f[i]]++;
                for(int i=0; i<n; i++)if(c[i]==1)pe=i;
                for(int i=0; i<2*n; i++)if(f[i]==-1)f[i]=pe;
                break;
            }
        }
       // cout<<pe<<endl;
        vector<ll> b=v;
        v.clear();
        for(auto i:b){
            if(f[i]==pe){
                f[i]=-1;
                v.pb(i);
            }
        }
//        cout<<pe<<endl;
        if(pe>=0)f[b[k]]=pe;

//        cout<<v.size()<<endl;
//        cout<<endl;
//        cout<<endl;
//        cout<<endl;
//        cout<<endl;
        if(v.size()==1){

            for(int i=0; i<n; i++)c[i]=0;
            for(int i=0; i<2*n; i++)c[f[i]]++;
            for(int i=0; i<n; i++)if(c[i]==1)pe=i;
            for(int i=0; i<2*n; i++)if(f[i]==-1)f[i]=pe;
            break;
        }
    }
//    cout<<"---"<<endl;
//    for(int i=0; i<2*n; i++){
//            cout<<f[i]<<" ";
//    }
//   cout<<endl;

    for(int i=0; i<2*n; i++)
        for(int j=i+1; j<2*n; j++)
            if(f[i]==f[j])Answer(i,j,f[i]);
}


//
//int main(){
//    #ifdef KHOKHO
//        freopen("in.in","r",stdin);
//        freopen("out.out","w",stdout);
//    #endif // KHOKHO
//    cin>>n;
//
//}

Compilation message

memory2.cpp: In function 'void Solve(int, int)':
memory2.cpp:49:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i=0; i<v.size(); i++){
                      ~^~~~~~~~~
/tmp/ccAEa1XL.o: In function `Flip(int, int)':
grader.cpp:(.text+0x30): multiple definition of `Flip(int, int)'
/tmp/ccgU6WTH.o:memory2.cpp:(.text+0x30): first defined here
/tmp/ccAEa1XL.o: In function `Answer(int, int, int)':
grader.cpp:(.text+0xb0): multiple definition of `Answer(int, int, int)'
/tmp/ccgU6WTH.o:memory2.cpp:(.text+0xb0): first defined here
/tmp/ccAEa1XL.o: In function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'
/tmp/ccgU6WTH.o:memory2.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status