QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#376329#2833. HamiltonzhulexuanAC ✓13ms35104kbC++142.6kb2024-04-04 07:54:182024-04-04 07:54:20

Judging History

你现在查看的是最新测评结果

  • [2024-04-04 07:54:20]
  • 评测
  • 测评结果:AC
  • 用时:13ms
  • 内存:35104kb
  • [2024-04-04 07:54:18]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define inf INT_MAX
#define fr(i,l,r) for (i=(l); i<=(r); i++)
#define rfr(i,l,r) for (i=(l); i>=(r); i--)
template<typename T>inline void read(T &n){
    T w=1; n=0; char ch=getchar();
    while (!isdigit(ch) && ch!=EOF){ if (ch=='-') w=-1; ch=getchar(); }
    while (isdigit(ch) && ch!=EOF){ n=(n<<3)+(n<<1)+(ch&15); ch=getchar(); }
    n*=w;
}
template<typename T>inline void write(T x){
    if (x==0){ putchar('0'); return ; }
    T tmp;
    if (x>0) tmp=x;
    else tmp=-x;
    if (x<0) putchar('-');
    char F[105];
    long long cnt=0;
    while (tmp){
        F[++cnt]=tmp%10+48;
        tmp/=10;
    }
    while (cnt) putchar(F[cnt--]);
}
#define Min(x,y) x = min(x,y)
#define Max(x,y) x = max(x,y)
//基础配置=================================================================================
const ll N = 2005;
ll n,m,ans=0,x,y,l,r,s,z;
ll a[N][N];
ll b[N];
bool get_in(){
    ll i,j;
    char ch[N];
    read(n);
    if (!n) return false;
    fr(i,1,n){
        scanf("%s",ch+1);
        fr(j,1,n)
            a[i][j] = ch[j]-'0';
    }
    return true;
}
int main(){
	// freopen("a.in","r",stdin);
//	freopen(".out","w",stdout);
    ll i,j;
    while (get_in()){
        b[1] = 1; b[2] = 2; b[3] = 3;
        fr(i,4,n){
            ll st = a[b[1]][b[2]];
            bool flg = true;
            fr(j,1,i-2)
                if (a[b[j]][b[j+1]]!=st) flg = false;
            if (a[b[1]][b[i-1]]!=st) flg = false;
            // printf("st = %lld\n",st);
            if (flg){ b[i] = i; continue; }
            ll pos = -1;
            fr(j,1,i-3)
                if (a[b[j]][b[j+1]]!=a[b[j+1]][b[j+2]]) pos = j;
            if (a[b[1]][b[2]]!=a[b[1]][b[i-1]]) pos = i-1;
            if (a[b[i-2]][b[i-1]]!=a[b[1]][b[i-1]]) pos = i-2;
            ll x,y,z;
            x = pos; y = pos+1; z = pos+2;
            if (y>=i) y -= i-1;
            if (z>=i) z -= i-1;
            // printf("x = %lld , y = %lld , z = %lld\n",x,y,z);
            ll ip;
            if (a[b[y]][b[x]]!=a[b[y]][i]) ip = y; else ip = z;
            rfr(j,i-1,ip) b[j+1] = b[j];
            // printf("ip = %lld\n",ip);
            b[ip] = i;
        }
        ll pos = 1;
        fr(i,1,n-2)
            if (a[b[i]][b[i+1]]!=a[b[i+1]][b[i+2]]) pos = i+1;
        if (a[b[n-1]][b[n]]!=a[b[n]][b[1]]) pos = n;
        if (a[b[n]][b[1]]!=a[b[1]][b[2]]) pos = 1;
        fr(i,pos,n) write(b[i]),putchar(' ');
        fr(i,1,pos-1) write(b[i]),putchar(' ');
        putchar('\n');
    }
    return 0;
}
//g++ a.cpp -o a -Wall -Wl,--stack=512000000

詳細信息

Test #1:

score: 100
Accepted
time: 0ms
memory: 3700kb

input:

3
001
000
100
4
0000
0000
0000
0000

output:

1 2 3 
1 2 3 4 

result:

ok 2 cases.

Test #2:

score: 0
Accepted
time: 0ms
memory: 3772kb

input:

3
000
000
000
3
010
100
000
3
011
100
100
3
011
101
110

output:

1 2 3 
1 2 3 
3 1 2 
1 2 3 

result:

ok 4 cases.

Test #3:

score: 0
Accepted
time: 0ms
memory: 3708kb

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 
1 2 4 3 
4 1 2 3 
4 1 2 3 
4 1 2 3 
1 2 3 4 
4 1 2 3 
1 2 4 3 
1 4 2 3 
4 1 2 3 

result:

ok 11 cases.

Test #4:

score: 0
Accepted
time: 0ms
memory: 3716kb

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 
1 2 3 4 5 
5 1 2 3 4 
5 1 2 3 4 
1 2 3 4 5 
5 4 1 2 3 
2 3 4 5 1 
3 4 1 5 2 
4 5 1 2 3 
1 4 2 3 5 
1 2 3 4 5 
5 4 1 2 3 
3 4 1 2 5 
1 2 4 3 5 
3 1 2 4 5 
5 4 1 2 3 
1 2 3 4 5 
5 1 2 3 4 
2 4 3 1 5 
1 4 5 2 3 
3 4 1 5 2 
5 3 4 1 2 
5 2 3 1 4 
5 1 2 4 3 
5 4 1 2 3 
3 5 1 2 4 
5 1 2 3 4 
5 4...

result:

ok 34 cases.

Test #5:

score: 0
Accepted
time: 0ms
memory: 3848kb

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 
1 4 5 2 3 6 
4 6 5 1 2 3 
6 5 1 2 3 4 
6 5 4 1 2 3 
6 3 5 1 2 4 
6 5 1 2 3 4 
6 1 2 3 5 4 
6 3 4 5 1 2 
6 3 4 5 1 2 
4 5 1 2 3 6 
4 6 1 2 3 5 
6 1 2 3 4 5 
1 2 3 4 5 6 
1 2 3 4 5 6 
4 5 1 6 2 3 
5 6 1 2 3 4 
1 4 2 3 6 5 
3 4 5 6 1 2 
6 1 2 3 4 5 
6 5 1 2 3 4 
6 1 2 3 5 4 
4...

result:

ok 156 cases.

Test #6:

score: 0
Accepted
time: 0ms
memory: 3656kb

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:

6 5 1 2 3 7 4 
6 4 1 2 3 5 7 
7 5 6 3 1 2 4 
7 1 2 3 4 6 5 
1 7 2 3 6 5 4 
3 4 1 2 5 6 7 
7 6 3 4 5 1 2 
1 2 5 4 3 6 7 
7 6 5 1 2 4 3 
6 7 4 1 5 2 3 
7 4 1 5 2 3 6 
4 7 3 6 5 1 2 
7 6 5 3 4 1 2 
1 7 6 2 3 4 5 
5 4 3 1 2 6 7 
6 7 4 5 1 2 3 
4 1 2 6 5 3 7 
7 6 1 2 4 3 5 
5 6 1 7 4 2 3 
7 6 2 3 5 4 1 
...

result:

ok 286 cases.

Test #7:

score: 0
Accepted
time: 1ms
memory: 3708kb

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 5 4 1 2 
9 3 6 7 8 1 4 5 2 
4 1 2 3 
8 7 6 3 4 1 2 5 
6 7 8 9 1 2 5 4 3 
1 4 2 3 
1 2 3 5 6 4 
2 6 3 5 4 1 
6 7 4 1 2 3 5 
1 4 2 3 5 6 7 
6 5 8 9 7 4 1 2 3 10 
10 9 2 8 4 3 6 7 5 1 
5 1 2 3 6 4 
1 8 2 4 3 6 7 5 
7 1 5 2 4 3 8 6 9 
1 2 3 
1 2 3 
6 2 3 4 5 1 
7 6 3 1 5 2 4 
1 2 3 
1 2 3 
3 5 4 1 2 
...

result:

ok 322 cases.

Test #8:

score: 0
Accepted
time: 1ms
memory: 3672kb

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 2 3 4 5 1 8 7 9 6 
10 5 6 7 1 2 3 4 8 9 
10 7 8 3 4 1 5 2 6 9 
4 1 6 2 3 5 7 8 9 10 
9 8 2 3 6 7 5 4 1 10 
10 1 2 6 3 7 8 4 5 9 
10 4 5 1 7 6 2 3 9 8 
10 5 8 9 7 6 1 2 4 3 
9 8 7 6 4 3 1 2 5 10 
5 1 2 10 4 9 6 8 7 3 
3 4 5 1 2 6 7 9 8 10 
10 6 7 8 4 5 1 2 3 9 
5 2 6 4 3 9 7 10 1 8 
9 1 2 3 8 7 6 ...

result:

ok 200 cases.

Test #9:

score: 0
Accepted
time: 1ms
memory: 3716kb

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:

10 9 6 5 8 1 2 3 4 7 
8 1 2 4 3 5 7 6 9 10 
9 10 4 3 1 5 2 7 8 6 
10 7 4 5 1 2 3 6 8 9 
10 8 3 6 5 1 7 4 2 9 
8 7 5 4 1 2 3 6 9 10 
10 5 9 4 6 7 8 1 2 3 
6 9 8 7 10 1 4 5 2 3 
8 7 6 5 4 1 2 3 9 10 
10 4 1 5 2 3 6 8 9 7 
6 10 9 8 7 4 5 1 2 3 
1 10 9 2 8 7 3 4 5 6 
3 10 9 8 7 6 5 4 1 2 
9 8 3 5 4 6 1 ...

result:

ok 200 cases.

Test #10:

score: 0
Accepted
time: 1ms
memory: 3912kb

input:

20
00011111000111100010
00100111111000000010
01011011101000100111
10100010000100000010
10100100000010101101
11001001010010000111
11110000010000111001
11100100111000010101
01100001011101100010
01000111100111011001
01100001100111111111
10010000111001010000
10001100011001001000
10000000111110111010
101...

output:

20 17 16 15 14 13 11 12 1 7 2 6 5 3 8 9 10 4 18 19 
17 16 12 15 14 13 10 11 8 6 9 5 4 1 2 7 3 18 19 
22 7 21 15 20 14 19 18 17 16 13 9 10 4 1 6 5 2 3 8 11 12 
13 6 3 5 1 2 4 7 8 9 10 12 11 
27 23 25 24 16 15 13 14 11 10 4 7 6 5 1 2 3 8 9 12 17 19 20 21 18 22 26 29 28 30 
21 22 18 19 17 13 15 14 11 1...

result:

ok 72 cases.

Test #11:

score: 0
Accepted
time: 1ms
memory: 6088kb

input:

59
01110100011001000100111000110110010001011111001011011101100
10001011111001111100111111100010111011100101001100001000101
10000011101010011100111011000001101110001100001110110101001
10001100100110101001000000101101101110001110111001110001101
010101010101101111110011111000100101111111101001111100111...

output:

59 57 50 49 35 30 27 26 25 17 13 12 5 4 1 2 8 3 9 6 7 10 11 15 14 16 19 21 22 20 23 24 18 28 29 32 33 34 31 37 39 38 40 41 36 42 43 44 45 46 47 51 52 53 54 55 48 56 58 
58 63 62 57 56 54 50 47 49 48 46 39 45 41 44 43 42 38 36 25 35 34 28 33 32 31 30 29 27 26 16 13 15 14 11 10 9 8 7 3 1 4 5 6 2 12 18...

result:

ok 29 cases.

Test #12:

score: 0
Accepted
time: 2ms
memory: 8040kb

input:

160
0010110100011110110110110001100110111000000100001100110101001011100101011100011100111011011011010011010110101100000011111010110111001011001100010000101111001101
000011011110000111010100011011010001001101001100111010101101001011001101001001000001011010001101100111011110110101111010101100000101001...

output:

160 155 159 158 157 156 153 115 152 117 151 119 150 120 149 118 148 137 147 138 146 143 145 144 139 142 140 141 122 136 131 135 134 132 133 124 130 125 129 128 123 127 126 121 114 93 112 94 111 98 110 107 109 108 99 106 100 105 104 103 102 101 97 95 96 92 90 89 87 81 86 85 84 83 82 73 70 67 60 59 58...

result:

ok 14 cases.

Test #13:

score: 0
Accepted
time: 4ms
memory: 10504kb

input:

438
01000100111101110010100101010001000101100011101011001001011110011100000110001001100101100101110011110111001101001101100111110010011001000110100110101001001101110001110011101010100010110100001011110011001000000001111111011001001010011101110010110111011111100011111101101001101010101010110000000111...

output:

438 428 437 436 426 391 406 399 405 404 403 400 402 401 398 397 394 396 395 393 392 390 389 380 388 387 386 381 385 383 384 382 377 375 376 374 373 372 369 371 370 368 365 345 364 354 363 362 359 361 360 357 358 356 355 348 353 351 352 350 349 347 346 344 340 341 338 337 332 330 329 320 326 325 298 ...

result:

ok 7 cases.

Test #14:

score: 0
Accepted
time: 0ms
memory: 24736kb

input:

1227
0100010000101001111110111010100100001100101111001011101010010000100111110110000001101101000101010011000101100110010011010100010011111000101101011001010111010010101001100100011000100000101011011011110101010011011110111101110010100010101111010101011001100001000110011101101010010011110010011011100...

output:

1225 1227 1226 1202 1210 1203 1209 1208 1207 1206 1205 1204 1199 1181 1198 1197 1196 1195 1182 1194 1189 1193 1192 1191 1190 1188 1184 1187 1183 1186 1185 1177 1170 1169 1161 1168 1164 1167 1165 1166 1163 1162 1155 1160 1159 1156 1158 1157 1149 1148 1146 1145 1144 1143 1140 1142 1141 1136 1130 1129 ...

result:

ok 2 cases.

Test #15:

score: 0
Accepted
time: 6ms
memory: 20992kb

input:

1078
0111011100111011000000110100010011001100100101011100111000110001110111110010111010110111010110001010100111101001110111010010000001000100110000000010000010111010101000000110101011011011000001100000011111010001010001101111011110111110000110111111111111101100110100011001110110111011111001110010110...

output:

1078 1077 1075 1074 1069 1068 1067 1064 1063 1059 1060 1056 1055 1052 1054 1053 1050 1049 1047 1042 1039 1041 1040 1037 1038 1034 1033 1031 1028 1030 1029 1025 1027 1026 1022 1020 1021 1016 1011 1010 1009 1007 998 1002 1001 1000 999 992 991 989 983 984 981 971 980 976 979 978 977 966 965 957 953 956...

result:

ok 2 cases.

Test #16:

score: 0
Accepted
time: 5ms
memory: 24208kb

input:

1310
0110101010101111001001001110010101000100000000011001001110111010011000110110010000001110111100110100110110110000011001000101100100000011011111011100010001101111001100100000011100111111101101001011000101000011100101111011100101011111000100101110011110001101110110100111101101011000000000101000101...

output:

1310 1306 1309 1308 1307 1304 1303 1302 1295 1294 1292 1293 1291 1288 1290 1289 1286 1281 1280 1279 1278 1273 1274 1270 1265 1266 1262 1261 1257 1254 1238 1237 1236 1232 1229 1231 1230 1227 1221 1218 1219 1216 1213 1211 1210 1208 1209 1207 1198 1206 1201 1205 1204 1202 1203 1200 1199 1190 1187 1172 ...

result:

ok 2 cases.

Test #17:

score: 0
Accepted
time: 8ms
memory: 29424kb

input:

1542
0000100001001001100011001101100001110111010111001110111110011011001000110010001111000000100011101001000100000001111001110100110101101111000011100010000100000111010001010110101110000001000001110100101111100001110010111000111001010111011100100100111011010101001100100101110110011000001011001000011...

output:

1542 1541 1504 1501 1486 1498 1497 1496 1490 1489 1488 1487 1485 1483 1484 1476 1468 1462 1461 1457 1460 1459 1458 1450 1455 1444 1454 1451 1453 1452 1443 1436 1442 1441 1440 1439 1431 1438 1437 1430 1427 1426 1425 1423 1422 1414 1419 1415 1418 1408 1417 1416 1404 1406 1405 1402 1403 1395 1399 1397 ...

result:

ok 2 cases.

Test #18:

score: 0
Accepted
time: 13ms
memory: 35072kb

input:

2000
0101010000001001011001110100110110001010001110110101101100010010011100000111001100000000110111011111100001110001111011101101110010100100001001110010001111011110011011010000100001011100000000110011000110010100101010110100001010101001111101011001110011010001100110000110101110000001000101001101010...

output:

2000 1999 1997 1998 1995 1982 1994 1993 1983 1992 1991 1981 1990 1986 1989 1987 1988 1984 1985 1973 1972 1971 1965 1964 1961 1960 1959 1958 1946 1939 1937 1938 1935 1934 1928 1933 1932 1931 1930 1929 1915 1926 1925 1924 1904 1923 1918 1922 1921 1919 1920 1917 1916 1913 1903 1912 1909 1911 1910 1906 ...

result:

ok 1 cases.

Test #19:

score: 0
Accepted
time: 8ms
memory: 35024kb

input:

2000
0100001100010101000111011110110000001010100001111010011110111010011101000001100111011101101100000100100011001100011101011110101011101000010000000001010110001100011111100011010110101010001100011100011100000111011011100010110010100001111101011001010111111101011100111011110001101000111100110101000...

output:

2000 1997 1990 1993 1989 1992 1991 1988 1987 1984 1985 1981 1980 1979 1978 1976 1973 1974 1972 1970 1971 1965 1966 1959 1957 1958 1956 1955 1944 1947 1946 1943 1936 1941 1940 1939 1938 1937 1928 1934 1933 1932 1931 1929 1930 1927 1926 1906 1905 1903 1888 1902 1901 1891 1900 1890 1899 1898 1897 1894 ...

result:

ok 1 cases.

Test #20:

score: 0
Accepted
time: 8ms
memory: 34956kb

input:

2000
0110101010100011101110010101000111001011110000101111001110111111100111000101010001110111000110110001010000010101101001011001111111011111111111011111000011100001111110000101100100000110100100100110110010000101101101100100001101100010011100000011110000100100011110111001101001101100110111011101011...

output:

1989 2000 1995 1999 1994 1998 1996 1997 1991 1993 1992 1987 1985 1986 1973 1965 1972 1971 1968 1970 1969 1967 1966 1964 1960 1963 1962 1961 1959 1958 1957 1956 1944 1955 1951 1954 1952 1953 1950 1949 1948 1947 1946 1945 1943 1942 1941 1940 1938 1933 1925 1924 1921 1920 1906 1905 1901 1904 1903 1900 ...

result:

ok 1 cases.

Test #21:

score: 0
Accepted
time: 13ms
memory: 35092kb

input:

2000
0110000110000000010000010011101111110001110101010000000001101110101010101001111001010100100101001100010100101000110001000101000101010011011000000100011110100001000010000111100110111010110001000100011100100011111001011011111011111001101101111011111011111010011100001111010001011101110000000001011...

output:

1997 2000 1999 1998 1996 1995 1993 1976 1988 1987 1983 1986 1984 1985 1982 1977 1981 1980 1979 1978 1972 1954 1962 1961 1955 1960 1959 1958 1957 1956 1951 1948 1947 1946 1945 1941 1944 1943 1942 1936 1925 1926 1921 1920 1916 1915 1914 1913 1904 1902 1898 1897 1893 1891 1890 1884 1889 1887 1888 1883 ...

result:

ok 1 cases.

Test #22:

score: 0
Accepted
time: 9ms
memory: 34912kb

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: 8ms
memory: 35104kb

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.