QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#375360#2833. HamiltonhaiAC ✓8ms11556kbC++142.1kb2024-04-03 09:45:072024-04-03 09:45:08

Judging History

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

  • [2024-04-03 09:45:08]
  • 评测
  • 测评结果:AC
  • 用时:8ms
  • 内存:11556kb
  • [2024-04-03 09:45:07]
  • 提交

answer

# include <bits/stdc++.h>
# define N 2005
using namespace std;
int n;
char s[N][N];
bool col[N][N];
int to1[N],to2[N];
void add(int x,int y)
{
    if(!to1[x])
        to1[x]=y;
    else
        to2[x]=y;
    if(!to1[y])
        to1[y]=x;
    else
        to2[y]=x;
}
void del(int x,int y)
{
    if(to1[x]==y)
        to1[x]=0;
    else
        to2[x]=0;
    if(to1[y]==x)
        to1[y]=0;
    else
        to2[y]=0;
}
bool mark[N];
void solve()
{
    for(int i=1;i<=n;i++)
        cin>>(s[i]+1);
    for(int i=1;i<=n;i++)
        for(int j=1;j<=n;j++)
            col[i][j]=s[i][j]-'0';
    add(1,2);
    add(2,3);
    add(3,1);
    for(int i=4;i<=n;i++)
    {
        int id=-1;
        for(int j=1;j<i;j++)
            if(col[j][to1[j]]!=col[j][to2[j]])
            {
                id=j;
                break;
            }
        if(id==-1)
        {
            int x=1,y=to1[1];
            del(x,y);
            add(x,i);
            add(y,i);
        }
        else
        {
            if(col[id][to1[id]]==1)
                swap(to1[id],to2[id]);
            if(col[id][i]==0)
            {
                int x=id,y=to2[id];
                del(x,y);
                add(x,i);
                add(y,i);
            }
            else
            {
                int x=id,y=to1[id];
                del(x,y);
                add(x,i);
                add(y,i);
            }
        }
    }
    int id=-1;
    for(int j=1;j<=n;j++)
        if(col[j][to1[j]]!=col[j][to2[j]])
        {
            id=j;
            break;
        }
    if(id==-1)
        id=1;
    int now=id;
    while(1)
    {
        mark[now]=1;
        cout<<now<<' ';
        if(!mark[to1[now]])
            now=to1[now];
        else if(!mark[to2[now]])
            now=to2[now];
        else
            break;
    }
    cout<<'\n';
    for(int i=1;i<=n;i++)
        to1[i]=to2[i]=mark[i]=0;
}
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    while(cin>>n)
        solve();
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 5712kb

input:

3
001
000
100
4
0000
0000
0000
0000

output:

1 2 3 
1 4 2 3 

result:

ok 2 cases.

Test #2:

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

input:

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

output:

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

result:

ok 4 cases.

Test #3:

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

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

result:

ok 11 cases.

Test #4:

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

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

result:

ok 34 cases.

Test #5:

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

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

result:

ok 156 cases.

Test #6:

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

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:

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

result:

ok 286 cases.

Test #7:

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

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:

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

result:

ok 322 cases.

Test #8:

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

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:

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

result:

ok 200 cases.

Test #9:

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

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

result:

ok 200 cases.

Test #10:

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

input:

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

output:

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

result:

ok 72 cases.

Test #11:

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

input:

59
01110100011001000100111000110110010001011111001011011101100
10001011111001111100111111100010111011100101001100001000101
10000011101010011100111011000001101110001100001110110101001
10001100100110101001000000101101101110001110111001110001101
010101010101101111110011111000100101111111101001111100111...

output:

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

result:

ok 29 cases.

Test #12:

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

input:

160
0010110100011110110110110001100110111000000100001100110101001011100101011100011100111011011011010011010110101100000011111010110111001011001100010000101111001101
000011011110000111010100011011010001001101001100111010101101001011001101001001000001011010001101100111011110110101111010101100000101001...

output:

152 153 148 145 146 139 123 117 112 95 93 92 87 84 71 69 65 44 64 52 63 61 55 50 43 49 47 41 36 33 19 3 2 12 11 17 25 27 29 24 30 35 39 46 48 51 53 54 56 45 57 42 58 34 59 62 66 78 81 76 86 89 85 90 98 102 104 110 118 120 122 130 132 140 147 150 143 158 157 154 151 136 133 124 129 127 115 113 101 97...

result:

ok 14 cases.

Test #13:

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

input:

438
01000100111101110010100101010001000101100011101011001001011110011100000110001001100101100101110011110111001101001101100111110010011001000110100110101001001101110001110011101010100010110100001011110011001000000001111111011001001010011101110010110111011111100011111101101001101010101010110000000111...

output:

436 433 423 415 413 323 320 306 319 314 318 316 311 309 305 303 301 285 281 274 270 267 268 261 259 245 252 248 242 231 238 234 230 228 222 214 211 148 156 154 151 152 145 147 144 126 143 140 142 139 136 134 132 104 125 122 120 108 119 109 118 111 117 114 115 112 96 97 91 92 80 88 85 82 83 69 77 75 ...

result:

ok 7 cases.

Test #14:

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

input:

1227
0100010000101001111110111010100100001100101111001011101010010000100111110110000001101101000101010011000101100110010011010100010011111000101101011001010111010010101001100100011000100000101011011011110101010011011110111101110010100010101111010101011001100001000110011101101010010011110010011011100...

output:

1219 1227 1225 1222 1216 1133 1215 1213 1204 1212 1207 1192 1145 1191 1148 1190 1188 1174 1187 1176 1186 1183 1179 1182 1180 1173 1151 1172 1169 1154 1168 1166 1161 1149 1123 1106 1103 1091 1082 1084 1081 1044 1080 1074 1079 1077 1071 1041 1039 1033 1028 1019 1017 1000 1013 1010 1007 998 995 977 980...

result:

ok 2 cases.

Test #15:

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

input:

1078
0111011100111011000000110100010011001100100101011100111000110001110111110010111010110111010110001010100111101001110111010010000001000100110000000010000010111010101000000110101011011011000001100000011111010001010001101111011110111110000110111111111111101100110100011001110110111011111001110010110...

output:

1065 1069 1067 1058 1027 1020 1021 1008 994 990 986 979 926 923 921 911 908 910 907 904 901 902 898 885 883 846 853 850 844 841 836 838 835 831 819 825 822 820 805 800 777 774 773 769 767 764 766 763 761 754 752 745 751 748 749 712 711 708 685 703 696 702 700 698 692 689 687 682 677 675 670 671 656 ...

result:

ok 2 cases.

Test #16:

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

input:

1310
0110101010101111001001001110010101000100000000011001001110111010011000110110010000001110111100110100110110110000011001000101100100000011011111011100010001101111001100100000011100111111101101001011000101000011100101111011100101011111000100101110011110001101110110100111101101011000000000101000101...

output:

1308 1300 1296 1292 1282 1283 1251 1250 1248 1244 1241 1237 1232 1233 1195 1193 1187 1184 1183 1178 1182 1179 1172 1150 1141 1137 1114 1110 1099 1096 1093 1086 1092 1087 1076 1062 1059 1054 1050 1038 1049 1040 1048 1045 1046 1041 1031 1017 1013 1007 1004 1002 993 998 996 991 984 990 987 966 983 979 ...

result:

ok 2 cases.

Test #17:

score: 0
Accepted
time: 3ms
memory: 11244kb

input:

1542
0000100001001001100011001101100001110111010111001110111110011011001000110010001111000000100011101001000100000001111001110100110101101111000011100010000100000111010001010110101110000001000001110100101111100001110010111000111001010111011100100100111011010101001100100101110110011000001011001000011...

output:

1529 1524 1522 1513 1512 1509 1507 1504 1494 1500 1497 1488 1475 1472 1470 1459 1447 1445 1436 1444 1442 1439 1435 1433 1432 1428 1429 1422 1420 1382 1407 1400 1401 1394 1391 1387 1386 1384 1377 1371 1360 1368 1363 1361 1355 1350 1354 1352 1336 1333 1330 1329 1326 1318 1322 1319 1315 1305 1314 1312 ...

result:

ok 2 cases.

Test #18:

score: 0
Accepted
time: 7ms
memory: 11556kb

input:

2000
0101010000001001011001110100110110001010001110110101101100010010011100000111001100000000110111011111100001110001111011101101110010100100001001110010001111011110011011010000100001011100000000110011000110010100101010110100001010101001111101011001110011010001100110000110101110000001000101001101010...

output:

1995 1992 1968 1991 1981 1990 1987 1980 1986 1984 1977 1965 1961 1962 1942 1937 1924 1919 1886 1884 1883 1880 1879 1873 1878 1875 1859 1872 1869 1865 1860 1846 1844 1840 1839 1836 1830 1824 1829 1827 1817 1818 1809 1806 1803 1794 1795 1777 1791 1789 1787 1782 1786 1781 1778 1766 1761 1759 1754 1727 ...

result:

ok 1 cases.

Test #19:

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

input:

2000
0100001100010101000111011110110000001010100001111010011110111010011101000001100111011101101100000100100011001100011101011110101011101000010000000001010110001100011111100011010110101010001100011100011100000111011011100010110010100001111101011001010111111101011100111011110001101000111100110101000...

output:

1999 1995 1987 1994 1990 1993 1989 1986 1984 1979 1975 1961 1970 1968 1963 1958 1956 1955 1952 1943 1951 1941 1950 1947 1944 1914 1935 1918 1934 1920 1933 1931 1930 1928 1925 1921 1913 1910 1902 1901 1899 1870 1868 1866 1864 1859 1856 1855 1853 1851 1839 1832 1828 1831 1829 1813 1810 1803 1796 1797 ...

result:

ok 1 cases.

Test #20:

score: 0
Accepted
time: 7ms
memory: 11476kb

input:

2000
0110101010100011101110010101000111001011110000101111001110111111100111000101010001110111000110110001010000010101101001011001111111011111111111011111000011100001111110000101100100000110100100100110110010000101101101100100001101100010011100000011110000100100011110111001101001101100110111011101011...

output:

1997 1988 1993 1991 1944 1978 1950 1977 1952 1976 1955 1975 1965 1974 1970 1968 1962 1961 1959 1953 1947 1948 1940 1908 1921 1918 1905 1898 1904 1901 1899 1892 1891 1880 1890 1885 1883 1875 1872 1845 1857 1854 1849 1850 1837 1829 1828 1825 1817 1815 1813 1810 1806 1800 1781 1774 1771 1770 1760 1769 ...

result:

ok 1 cases.

Test #21:

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

input:

2000
0110000110000000010000010011101111110001110101010000000001101110101010101001111001010100100101001100010100101000110001000101000101010011011000000100011110100001000010000111100110111010110001000100011100100011111001011011111011111001101101111011111011111010011100001111010001011101110000000001011...

output:

1998 1990 1991 1985 1970 1964 1962 1957 1954 1945 1942 1939 1928 1932 1930 1927 1908 1926 1911 1925 1923 1918 1916 1914 1905 1906 1896 1894 1886 1873 1885 1882 1875 1881 1876 1855 1872 1866 1871 1868 1852 1849 1848 1845 1840 1836 1834 1828 1821 1827 1824 1822 1793 1804 1801 1786 1790 1788 1761 1764 ...

result:

ok 1 cases.

Test #22:

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

input:

2000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

1 2000 1999 1998 1997 1996 1995 1994 1993 1992 1991 1990 1989 1988 1987 1986 1985 1984 1983 1982 1981 1980 1979 1978 1977 1976 1975 1974 1973 1972 1971 1970 1969 1968 1967 1966 1965 1964 1963 1962 1961 1960 1959 1958 1957 1956 1955 1954 1953 1952 1951 1950 1949 1948 1947 1946 1945 1944 1943 1942 194...

result:

ok 1 cases.

Test #23:

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

input:

2000
0111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...

output:

1 2000 1999 1998 1997 1996 1995 1994 1993 1992 1991 1990 1989 1988 1987 1986 1985 1984 1983 1982 1981 1980 1979 1978 1977 1976 1975 1974 1973 1972 1971 1970 1969 1968 1967 1966 1965 1964 1963 1962 1961 1960 1959 1958 1957 1956 1955 1954 1953 1952 1951 1950 1949 1948 1947 1946 1945 1944 1943 1942 194...

result:

ok 1 cases.