#include<bits/stdc++.h> using namespace std; vector <int> tab[500005]; bool odw[500005]; bool stale[500005]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); int a,b,c,d; cin>>a>>b; for(int x=0;x<a;x++) { cin>>c; tab[0].push_back(c); } for(int x=1;x<b;x++) { cin>>c>>d; for(int y=0;y<a;y++) { if(y+1!=c) tab[x].push_back(tab[x-1][y]); else tab[x].push_back(d); } } int licz,mini; for(int x=0;x<b;x++) { for(int y=0;y<b;y++) { if(stale[y]==true) odw[y]=true; } licz=b; for(int y=0;y<a;y++) { mini=1000000005; for(int z=0;z<b;z++) { if(odw[z]==false) mini=min(mini,tab[z][y]); } for(int z=0;z<b;z++) { if(tab[z][y]!=mini&&odw[z]==false) { odw[z]=true; licz--; } } if(licz==1) { for(int z=0;z<b;z++) if(odw[z]==false) { stale[z]=true; cout<<z+1<<" "; } break; } } if(licz!=1) for(int z=0;z<b;z++) if(odw[z]==false) { stale[z]=true; cout<<z+1<<" "; break; } for(int z=0;z<b;z++) odw[z]=false; } return 0; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | #include<bits/stdc++.h> using namespace std; vector <int> tab[500005]; bool odw[500005]; bool stale[500005]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); int a,b,c,d; cin>>a>>b; for(int x=0;x<a;x++) { cin>>c; tab[0].push_back(c); } for(int x=1;x<b;x++) { cin>>c>>d; for(int y=0;y<a;y++) { if(y+1!=c) tab[x].push_back(tab[x-1][y]); else tab[x].push_back(d); } } int licz,mini; for(int x=0;x<b;x++) { for(int y=0;y<b;y++) { if(stale[y]==true) odw[y]=true; } licz=b; for(int y=0;y<a;y++) { mini=1000000005; for(int z=0;z<b;z++) { if(odw[z]==false) mini=min(mini,tab[z][y]); } for(int z=0;z<b;z++) { if(tab[z][y]!=mini&&odw[z]==false) { odw[z]=true; licz--; } } if(licz==1) { for(int z=0;z<b;z++) if(odw[z]==false) { stale[z]=true; cout<<z+1<<" "; } break; } } if(licz!=1) for(int z=0;z<b;z++) if(odw[z]==false) { stale[z]=true; cout<<z+1<<" "; break; } for(int z=0;z<b;z++) odw[z]=false; } return 0; } |