QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#390676 | #2833. Hamilton | Nahidameow | AC ✓ | 29ms | 7368kb | C++20 | 1.9kb | 2024-04-15 19:51:28 | 2024-04-15 19:51:28 |
Judging History
answer
#include<bits/stdc++.h>
#define pd push_back
#define all(A) A.begin(),A.end()
#define lower_bound lb
#define ve std::vector
typedef long long ll;
typedef long long ll;
typedef __int128 Int;
typedef unsigned long long ul;
typedef long double LD;
bool FileIfstream(std::string name){
std::ifstream f(name.c_str());
return f.good();
}
namespace Math{
ll QP(ll x,ll y,ll mod){ll ans=1;for(;y;y>>=1,x=x*x%mod)if(y&1)ans=ans*x%mod;return ans;}
ll inv(ll x,ll mod){return QP(x,mod-2,mod);}
}
const int N=2e5+10;
const int mod=998244353;
int n;
void solve(){
//don't forget to open long long
ve<std::string>v(n+1);
for(int i=1;i<=n;i++){
std::cin>>v[i];
v[i]=" "+v[i];
}
ve<int>ans;ans.pd(1);ans.pd(2);
auto insert=[&](int x,int y)->void{ans.insert(ans.begin()+x,y);};
auto col=[&](int x,int y)->char{return v[x][y];};
auto had=[&](int x)->char{int L=ans.size();return col(ans[x%L],ans[(x+1)%L]);};
for(int i=3;i<=n;i++){
int L=ans.size();
int pos=-1;
for(int j=0;j+2<L;j++)
if(had(j)!=had((j+1)%L))
assert(pos==-1),pos=j;
if(pos==-1){
ans.pd(i);L++;
for(int j=0;j+1<i;j++)
if(had(j)!=had((j+1)%L)){
rotate(ans.begin(),ans.begin()+j+1,ans.end());
break;
}
}else{
if(v[ans[pos]][i]==v[ans[(pos+1)%L]][i])
insert(pos+1,i);
else if(v[ans[(pos+1)%L]][i]==v[ans[(pos+2)%L]][i])
insert(pos+2,i);
else if(v[ans[(pos+1)%L]][i]==had(pos))
insert(pos+2,i);
else insert(pos+1,i);
}
// for(auto &p:ans)
// std::cerr<<p<<' ';
// std::cerr<<'\n';
}
for(int i=0;i<n;i++)
std::cout<<ans[i]<<(i==n-1?'\n':' ');
}
int main(){
#ifndef ONLINE_JUDGE
if(!FileIfstream("IO.in")){
freopen("IO.in","w",stdout);
return 0;
}
freopen("IO.in","r",stdin);
freopen("IO.out","w",stdout);
#endif
std::ios::sync_with_stdio(false);
std::cin.tie(0);
std::cout.tie(0);
int T=1;
while(std::cin>>n)solve();
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 0ms
memory: 3588kb
input:
3 001 000 100 4 0000 0000 0000 0000
output:
3 1 2 1 2 3 4
result:
ok 2 cases.
Test #2:
score: 0
Accepted
time: 0ms
memory: 3884kb
input:
3 000 000 000 3 010 100 000 3 011 100 100 3 011 101 110
output:
1 2 3 2 3 1 2 3 1 1 2 3
result:
ok 4 cases.
Test #3:
score: 0
Accepted
time: 0ms
memory: 3536kb
input:
4 0000 0000 0000 0000 4 0000 0001 0000 0100 4 0100 1010 0100 0000 4 0111 1000 1000 1000 4 0010 0011 1101 0110 4 0111 1011 1100 1100 4 0111 1011 1101 1110 4 0000 0011 0101 0110 4 0101 1010 0100 1000 4 0011 0011 1100 1100 4 0010 0001 1000 0100
output:
1 2 3 4 1 2 3 4 3 4 1 2 2 4 3 1 1 4 2 3 3 4 1 2 1 2 3 4 2 4 3 1 3 4 1 2 2 3 1 4 3 4 1 2
result:
ok 11 cases.
Test #4:
score: 0
Accepted
time: 0ms
memory: 3544kb
input:
5 00000 00000 00000 00000 00000 5 00001 00000 00000 00000 10000 5 00010 00010 00000 11000 00000 5 00000 00001 00001 00001 01110 5 00001 00001 00001 00001 11110 5 00101 00100 11011 00100 10100 5 01111 10011 10000 11000 11000 5 00011 00011 00011 11101 11110 5 01101 10111 11001 01001 11110 5 00111 0011...
output:
1 2 3 4 5 5 1 2 3 4 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 1 4 5 2 3 2 3 5 4 1 3 4 5 1 2 3 4 5 1 2 2 3 1 4 5 1 2 3 4 5 2 3 4 5 1 1 5 2 3 4 1 5 2 4 3 2 3 5 4 1 2 3 4 5 1 4 5 1 2 3 3 4 1 5 2 3 4 1 5 2 4 5 2 3 1 3 4 5 1 2 2 4 3 5 1 4 5 2 3 1 3 1 5 4 2 1 4 5 2 3 3 4 5 1 2 4 5 1 2 3 5 3 4 1 2 3 1 4 5 2 3 4 5 1 2 ...
result:
ok 34 cases.
Test #5:
score: 0
Accepted
time: 1ms
memory: 3600kb
input:
6 000000 000000 000000 000000 000000 000000 6 000000 000000 000001 000000 000000 001000 6 010000 100100 000000 010000 000000 000000 6 000100 000000 000100 101010 000100 000000 6 000100 000000 000100 101011 000100 000100 6 001000 001000 110111 001000 001000 001000 6 001100 000100 100100 111011 000100...
output:
1 2 3 4 5 6 1 2 3 4 5 6 4 5 2 3 1 6 3 4 6 1 5 2 3 4 1 6 5 2 1 4 5 6 2 3 3 4 1 6 5 2 3 4 1 6 5 2 4 6 5 1 2 3 1 6 4 5 2 3 6 1 5 4 2 3 3 1 6 5 4 2 4 5 6 1 2 3 5 6 1 2 3 4 1 2 3 4 5 6 1 2 3 4 5 6 2 4 5 6 3 1 4 5 6 1 2 3 2 3 1 4 5 6 3 4 5 6 1 2 4 6 5 1 2 3 3 4 5 6 1 2 4 1 6 5 2 3 6 3 4 1 2 5 3 4 6 5 1 2 ...
result:
ok 156 cases.
Test #6:
score: 0
Accepted
time: 1ms
memory: 3592kb
input:
7 0000010 0001011 0001010 0110100 0001001 1110001 0100110 7 0101001 1011000 0101100 1110010 0010010 0001100 1000000 7 0001111 0011001 0100100 1100101 1011000 1000000 1101000 7 0111111 1011101 1101001 1110010 1100010 1001101 1110010 7 0010111 0010001 1101010 0010000 1000011 1010100 1100100 7 0001010 ...
output:
3 7 4 6 5 1 2 2 7 6 5 3 4 1 2 4 5 7 6 3 1 7 4 6 5 1 2 3 1 4 5 2 6 7 3 1 7 2 4 5 3 6 1 6 2 7 3 4 5 2 7 3 6 5 4 1 7 3 6 4 5 1 2 3 4 1 7 5 6 2 6 7 2 3 4 1 5 2 7 3 6 4 5 1 1 4 5 7 6 2 3 3 1 6 4 7 5 2 2 6 7 3 5 4 1 3 4 5 7 1 6 2 1 5 4 2 3 6 7 5 6 2 7 4 3 1 4 5 7 6 2 3 1 7 1 5 4 2 3 6 3 6 4 7 5 1 2 6 7 1 ...
result:
ok 286 cases.
Test #7:
score: 0
Accepted
time: 1ms
memory: 3600kb
input:
5 01000 10100 01010 00100 00000 9 001101110 001010001 110100110 101010000 010100011 100000000 101000000 101010001 010010010 4 0000 0011 0101 0110 8 00100101 00101100 11000011 00001111 01010101 11011000 00110000 10111000 9 000000001 001101000 010000100 010000111 000000000 010000111 001101010 00010110...
output:
3 1 4 2 5 6 7 8 4 9 5 2 3 1 2 4 3 1 7 8 1 6 4 5 2 3 6 9 8 2 7 5 3 4 1 2 3 1 4 3 1 5 4 6 2 5 6 3 1 4 2 3 5 6 7 4 1 2 4 7 5 6 2 3 1 10 5 9 6 8 7 3 4 1 2 3 4 1 6 7 8 9 10 5 2 3 6 4 5 1 2 3 7 8 4 6 5 1 2 3 4 7 9 8 5 6 1 2 2 3 1 1 2 3 1 6 4 5 2 3 3 4 5 6 1 7 2 2 3 1 2 3 1 2 4 5 3 1 3 6 4 5 1 2 2 7 8 5 6 ...
result:
ok 322 cases.
Test #8:
score: 0
Accepted
time: 1ms
memory: 3652kb
input:
10 0010001000 0010011001 1101101001 0010111000 0011000110 0101001100 1111010001 0000110011 0000100101 0110001110 10 0000000010 0000001001 0000001101 0000100000 0001010111 0000101011 0110010100 0010101000 1000110000 0110110000 10 0110010111 1011111110 1100101010 0100001101 0110001111 1100001010 01111...
output:
10 3 9 7 8 1 4 2 5 6 4 5 6 7 10 9 8 1 2 3 3 4 5 1 7 8 6 10 9 2 4 5 10 9 8 6 7 1 2 3 1 4 5 10 9 8 2 7 6 3 1 6 7 8 10 9 5 4 2 3 2 4 6 7 8 9 10 5 3 1 1 5 8 9 10 6 7 2 4 3 2 6 3 10 9 8 7 5 4 1 2 9 10 6 8 7 3 5 4 1 7 2 8 10 4 9 5 3 6 1 3 1 6 9 10 8 5 7 4 2 3 1 5 9 10 8 6 7 4 2 5 3 8 7 10 9 6 1 4 2 1 6 10...
result:
ok 200 cases.
Test #9:
score: 0
Accepted
time: 0ms
memory: 3888kb
input:
10 0110101100 1010100111 1101100101 0010111010 1111001010 0001000000 1001100111 1110001001 0101101000 0110001100 10 0111110111 1001111100 1001100100 1110101111 1111001010 1100001000 0101110100 1111001010 1001100100 1001000000 10 0100000111 1011111001 0100001111 0100100110 0101011100 0100100110 01101...
output:
3 7 6 8 4 10 9 5 1 2 10 8 9 5 7 6 2 4 3 1 3 4 10 9 1 8 7 5 6 2 3 5 6 4 7 10 8 9 1 2 4 5 6 2 7 8 9 3 10 1 5 3 6 8 4 9 10 7 1 2 6 7 8 9 10 3 5 4 1 2 3 9 10 1 8 6 7 4 5 2 3 7 5 8 10 9 6 4 1 2 6 9 10 7 8 2 4 3 5 1 2 5 7 8 9 10 6 3 1 4 3 4 6 7 8 10 5 9 1 2 2 3 10 8 9 7 6 5 4 1 2 5 9 10 8 7 6 3 4 1 2 7 8 ...
result:
ok 200 cases.
Test #10:
score: 0
Accepted
time: 1ms
memory: 3568kb
input:
20 00011111000111100010 00100111111000000010 01011011101000100111 10100010000100000010 10100100000010101101 11001001010010000111 11110000010000111001 11100100111000010101 01100001011101100010 01000111100111011001 01100001100111111111 10010000111001010000 10001100011001001000 10000000111110111010 101...
output:
7 19 8 20 18 17 16 14 15 5 13 11 12 9 10 6 2 3 4 1 1 4 2 17 19 18 9 16 12 15 14 13 10 11 8 6 7 5 3 8 9 13 12 16 17 21 20 22 19 15 18 14 10 11 1 6 5 2 3 4 7 3 4 8 10 9 11 13 5 12 7 6 1 2 3 5 4 6 9 12 17 19 20 21 22 26 27 24 28 30 25 29 23 13 18 16 10 15 14 11 8 7 1 2 1 9 17 15 18 22 19 21 16 20 13 14...
result:
ok 72 cases.
Test #11:
score: 0
Accepted
time: 1ms
memory: 3604kb
input:
59 01110100011001000100111000110110010001011111001011011101100 10001011111001111100111111100010111011100101001100001000101 10000011101010011100111011000001101110001100001110110101001 10001100100110101001000000101101101110001110111001110001101 010101010101101111110011111000100101111111101001111100111...
output:
3 26 27 25 30 31 33 48 35 57 59 58 52 56 49 55 54 53 51 50 47 37 46 44 45 38 43 34 42 40 41 39 36 29 32 28 23 24 18 22 21 17 20 19 12 16 13 15 14 10 11 5 9 8 1 7 6 2 4 17 18 21 20 22 24 37 33 40 48 45 53 52 56 59 60 62 63 61 55 58 57 54 50 51 49 47 46 41 44 39 43 42 38 36 35 34 32 31 30 29 28 26 27 ...
result:
ok 29 cases.
Test #12:
score: 0
Accepted
time: 0ms
memory: 3680kb
input:
160 0010110100011110110110110001100110111000000100001100110101001011100101011100011100111011011011010011010110101100000011111010110111001011001100010000101111001101 000011011110000111010100011011010001001101001100111010101101001011001101001001000001011010001101100111011110110101111010101100000101001...
output:
2 6 7 18 22 20 23 21 29 28 44 47 48 45 55 65 81 82 83 92 96 97 95 100 101 102 103 105 108 109 110 114 122 121 134 147 148 137 151 156 157 154 159 160 158 155 152 153 149 150 146 145 140 144 143 142 141 139 138 135 136 128 133 129 132 130 131 127 124 126 125 123 118 120 119 117 115 116 111 113 107 11...
result:
ok 14 cases.
Test #13:
score: 0
Accepted
time: 2ms
memory: 3908kb
input:
438 01000100111101110010100101010001000101100011101011001001011110011100000110001001100101100101110011110111001101001101100111110010011001000110100110101001001101110001110011101010100010110100001011110011001000000001111111011001001010011101110010110111011111100011111101101001101010101010110000000111...
output:
1 6 4 8 9 7 10 13 12 14 15 16 11 18 25 28 26 29 30 32 34 35 36 37 50 51 69 74 80 81 86 84 93 94 102 103 104 105 107 111 128 131 130 132 133 150 152 154 153 161 171 178 180 182 183 181 206 208 204 209 210 212 215 218 220 219 221 216 222 217 231 232 244 233 245 248 249 256 255 260 261 267 262 268 266 ...
result:
ok 7 cases.
Test #14:
score: 0
Accepted
time: 3ms
memory: 4960kb
input:
1227 0100010000101001111110111010100100001100101111001011101010010000100111110110000001101101000101010011000101100110010011010100010011111000101101011001010111010010101001100100011000100000101011011011110101010011011110111101110010100010101111010101011001100001000110011101101010010011110010011011100...
output:
3 4 5 8 9 10 7 13 12 17 20 24 23 28 27 29 37 43 42 44 41 45 46 40 47 39 48 65 68 66 69 70 76 77 78 80 79 81 73 84 82 91 100 99 101 102 105 104 106 103 107 110 114 117 131 133 136 146 134 147 145 157 159 160 158 163 166 167 168 175 176 177 179 180 181 191 188 192 194 196 197 198 195 199 190 206 207 2...
result:
ok 2 cases.
Test #15:
score: 0
Accepted
time: 3ms
memory: 4916kb
input:
1078 0111011100111011000000110100010011001100100101011100111000110001110111110010111010110111010110001010100111101001110111010010000001000100110000000010000010111010101000000110101011011011000001100000011111010001010001101111011110111110000110111111111111101100110100011001110110111011111001110010110...
output:
3 10 11 12 13 14 15 9 31 17 32 30 35 36 37 39 40 43 45 47 48 49 46 50 69 68 71 70 72 73 76 87 86 88 89 77 92 94 97 98 99 96 100 101 104 110 111 112 113 114 109 137 153 149 166 174 177 179 180 188 191 189 192 197 193 198 199 200 196 201 195 202 204 206 208 207 216 217 219 220 226 228 227 230 233 234 ...
result:
ok 2 cases.
Test #16:
score: 0
Accepted
time: 3ms
memory: 4976kb
input:
1310 0110101010101111001001001110010101000100000000011001001110111010011000110110010000001110111100110100110110110000011001000101100100000011011111011100010001101111001100100000011100111111101101001011000101000011100101111011100101011111000100101110011110001101110110100111101101011000000000101000101...
output:
3 4 20 17 22 23 21 25 26 28 27 33 35 36 37 49 50 57 61 62 75 76 74 77 63 85 120 122 121 133 134 142 136 143 144 145 141 146 151 147 152 153 156 161 183 187 193 194 196 195 215 214 217 218 216 219 220 226 227 225 228 229 230 222 231 224 236 240 247 248 249 252 253 258 259 266 267 272 273 274 271 275 ...
result:
ok 2 cases.
Test #17:
score: 0
Accepted
time: 8ms
memory: 5628kb
input:
1542 0000100001001001100011001101100001110111010111001110111110011011001000110010001111000000100011101001000100000001111001110100110101101111000011100010000100000111010001010110101110000001000001110100101111100001110010111000111001010111011100100100111011010101001100100101110110011000001011001000011...
output:
13 17 16 22 21 26 27 29 32 35 34 36 37 38 41 42 44 43 47 46 50 60 61 62 65 63 66 67 64 68 48 73 76 80 77 81 84 86 89 87 90 92 93 94 88 95 91 96 98 99 101 102 107 109 113 115 116 120 119 122 159 160 158 161 170 171 162 172 180 182 187 188 190 191 196 198 202 201 203 204 197 212 213 216 217 218 220 22...
result:
ok 2 cases.
Test #18:
score: 0
Accepted
time: 12ms
memory: 7216kb
input:
2000 0101010000001001011001110100110110001010001110110101101100010010011100000111001100000000110111011111100001110001111011101101110010100100001001110010001111011110011011010000100001011100000000110011000110010100101010110100001010101001111101011001110011010001100110000110101110000001000101001101010...
output:
13 15 16 18 1 19 17 20 21 23 31 35 32 37 39 40 38 41 36 42 45 43 46 48 52 54 62 72 65 73 75 77 71 78 79 87 94 88 97 113 117 118 127 130 129 131 134 135 142 139 143 144 147 146 149 150 151 152 155 154 163 164 167 189 190 191 188 193 194 200 201 205 206 202 217 218 221 222 226 225 230 250 252 253 255 ...
result:
ok 1 cases.
Test #19:
score: 0
Accepted
time: 12ms
memory: 7156kb
input:
2000 0100001100010101000111011110110000001010100001111010011110111010011101000001100111011101101100000100100011001100011101011110101011101000010000000001010110001100011111100011010110101010001100011100011100000111011011100010110010100001111101011001010111111101011100111011110001101000111100110101000...
output:
3 19 18 20 21 1 27 28 30 42 34 43 44 45 48 52 51 60 65 67 69 70 71 72 73 75 74 76 77 64 78 100 94 104 106 109 110 112 113 111 116 115 124 127 128 129 130 132 131 141 145 144 146 152 173 167 174 175 176 172 177 178 179 180 181 183 184 191 192 195 204 205 207 208 210 211 235 236 238 240 242 243 245 24...
result:
ok 1 cases.
Test #20:
score: 0
Accepted
time: 12ms
memory: 7316kb
input:
2000 0110101010100011101110010101000111001011110000101111001110111111100111000101010001110111000110110001010000010101101001011001111111011111111111011111000011100001111110000101100100000110100100100110110010000101101101100100001101100010011100000011110000100100011110111001101001101100110111011101011...
output:
1 5 18 19 17 20 23 24 21 30 26 31 29 35 38 40 44 43 45 46 41 58 61 62 63 64 59 65 66 60 67 68 72 75 76 78 79 80 77 81 74 82 83 73 84 85 101 103 104 105 96 106 107 116 118 119 123 122 137 136 139 140 141 144 147 164 146 165 167 166 181 182 183 180 188 187 189 190 192 201 195 202 200 203 204 212 214 2...
result:
ok 1 cases.
Test #21:
score: 0
Accepted
time: 12ms
memory: 7368kb
input:
2000 0110000110000000010000010011101111110001110101010000000001101110101010101001111001010100100101001100010100101000110001000101000101010011011000000100011110100001000010000111100110111010110001000100011100100011111001011011111011111001101101111011111011111010011100001111010001011101110000000001011...
output:
4 10 11 5 12 13 14 15 17 16 18 19 21 20 24 25 26 23 27 31 33 35 41 34 44 45 63 58 64 66 65 73 74 75 80 76 102 98 108 115 110 119 135 137 139 140 138 141 143 165 166 168 167 174 175 178 176 179 180 181 177 183 184 185 186 188 189 190 191 218 220 221 225 222 230 227 231 232 234 237 236 242 243 244 245...
result:
ok 1 cases.
Test #22:
score: 0
Accepted
time: 29ms
memory: 7324kb
input:
2000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...
output:
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 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 ...
result:
ok 1 cases.
Test #23:
score: 0
Accepted
time: 29ms
memory: 7216kb
input:
2000 0111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
output:
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 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 ...
result:
ok 1 cases.