Codeforces 405C

6144 단어 codeforces
제목 링크
당시에는 해내지 못했는데, 나중에 잠시 생각해 보았지만 좋은 생각이 없었다.
문제풀이를 보고 나서야 자신이 문제의 관건을 전혀 찾지 못했다는 것을 알았다.
위에서 말한 바와 같이 대각선의 원소를 제외하고 Aij*Aji는 모두 두 번 계산했기 때문에 결과와 관계가 없다.
코드는 다음과 같습니다.
 1 #include <cstdio>

 2 #include <cstring>

 3 

 4 int n, q;

 5 char str[1000005];

 6 

 7 int main() {

 8     while (~scanf("%d", &n) && n) {

 9         int sum = 0, count = 0;

10         for (int i = 1; i <= n; i++) {

11             for (int j = 1; j <= n; j++) {

12                 int k;

13                 scanf("%d", &k);

14                 if (i == j)

15                     sum ^= k;

16             }

17         }

18         scanf("%d", &q);

19         while (q--) {

20             int c;

21             scanf("%d", &c);

22             if (c == 1 || c == 2) {

23                 int i;

24                 scanf("%d", &i);

25                 sum ^= 1;

26             }

27             else {

28                 if (sum) 

29                     str[count++] = '1';

30                 else

31                     str[count++] = '0';

32             }

33                 //printf("%d
", sum);
34 } 35 str[count] = '\0'; 36 puts(str); 37 } 38 39 return 0; 40 }

 
 

좋은 웹페이지 즐겨찾기