水题 Codeforces Round #303 (Div. 2) A. Toy Cars

题目传送门

 1 /*
 2     题意:5种情况对应对应第i或j辆车翻了没
 3     水题:其实就看对角线的上半边就可以了,vis判断,可惜WA了一次
 4     3: if both cars turned over during the collision.
 5     是指i,j两辆车,而不是全部
 6 */
 7 #include <cstdio>
 8 #include <algorithm>
 9 #include <cstring>
10 #include <cmath>
11 #include <iostream>
12 using namespace std;
13 
14 const int MAXN = 1e2 + 10;
15 const int INF = 0x3f3f3f3f;
16 int a[MAXN][MAXN];
17 bool vis[MAXN];
18 int ans[MAXN];
19 
20 int main(void)        //Codeforces Round #303 (Div. 2) A. Toy Cars
21 {
22     //freopen ("A.in", "r", stdin);
23 
24     int n;
25     while (scanf ("%d", &n) == 1)
26     {
27         memset (vis, false, sizeof (vis));
28         for (int i=1; i<=n; ++i)
29         {
30             for (int j=1; j<=n; ++j)    scanf ("%d", &a[i][j]);
31         }
32 
33         for (int i=1; i<=n; ++i)
34         {
35             for (int j=i+1; j<=n; ++j)
36             {
37                 if (a[i][j] == 3)
38                 {
39                     vis[i] = vis[j] = true;
40                 }
41                 else if (a[i][j] == 2)    vis[j] = true;
42                 else if (a[i][j] == 1)    vis[i] = true;
43             }
44         }
45 
46         int cnt = 0;
47         for (int i=1; i<=n; ++i)
48         {
49             if (!vis[i])    ans[++cnt] = i;
50         }
51         printf ("%d
", cnt);
52         for (int i=1; i<=cnt; ++i)    printf ("%d%c", ans[i], (i==cnt) ? '
' : ' ');
53     }
54 
55     return 0;
56 }
编译人生,运行世界!
原文地址:https://www.cnblogs.com/Running-Time/p/4520839.html