CodeChef submission 130781 (C++ 4.0.0-8) plaintext list. Status: WA, problem J6, contest NOV09. By kumaran (Muthukumaran,A), 2009-11-11 12:46:22.
#include<iostream> #include<cmath> #include<cstdio> using namespace std; int a[300000][2]; int kk[300000][2]; int b[100001]; int flag; void change(int sol,int q) { if(flag==0) { for(int my=0;my<q;my++) //for(int my=q-1;my>=0;my--) { if(kk[my][0]==sol ) { { if(kk[my][1]>0) { if(b[kk[my][1]]==0 || b[kk[my][1]]==1 ) { b[kk[my][1]]=1; change(-1*(kk[my][1]),q); } else { flag=2; return; } } else if(kk[my][1]<0) { { change(-1*(kk[my][1]),q); } else { flag=2; return; } } } } else if(kk[my][1]==sol) { { if(kk[my][0]>0) { if(b[kk[my][0]]==0 || b[kk[my][0]]==1 ) { b[kk[my][0]]=1; change(-1*(kk[my][0]),q); } else { flag=2; return; } } else if(kk[my][0]<0) { { change(-1*(kk[my][0]),q); } else { flag=2; return; } } } } } } else return; } int main() { int m,n,z,ho,t; int flag; flag=0; while(t) { flag=0; for(int tt=1;tt<=m;tt++) { b[tt]=0; } z=0; ho=n; while(n) { kk[z][0]=a[z][0]; kk[z][1]=a[z][1]; if(a[z][0]!=a[z][1]) { for(int q=z-1;q>=0;q--) { { if(a[q][1]!=a[z][1]) kk[z][0]=a[q][1]; } { if(a[q][0]!=a[z][1]) kk[z][0]=a[q][0]; } { if(a[q][1]!=a[z][0]) kk[z][1]=a[q][1]; } { if(a[q][0]!=a[z][0]) kk[z][1]=a[q][0]; } } } z++; n--; } /* cout<<"test"<<endl; for(int q=0;q<ho;q++) cout<<kk[q][0]<<" "<<kk[q][1]<<endl; cout<<"test ends"<<endl; */ for(int q=0;q<ho;q++) { if(kk[q][0]==kk[q][1]) { int sol; if(kk[q][0]<0) { else { flag=2; break; } } else { else { flag=2; break; } } if(flag==0) { sol=-1*(kk[q][0]); change(sol,q); } } { { change(-1*kk[q][1],q); } { change(-1*kk[q][1],q); } else { flag=2; break; } } { { change(-1*kk[q][1],q); } { change(-1*kk[q][1],q); } else { flag=2; break; } } } if(flag==2) { } else { int i; for(i=1;i<=m;i++) { if(b[i]==0) break; } if(i==m+1) else } t--; } return 0; }
Comments

