1 /* 2 题意:5种情况对应对应第i或j辆车翻了没 3 水题:其实就看对角线的上半边就可以了,vis判断,可惜WA了一次 4 3: if both cars turned over during the collision. 5 是指i,j两辆车,而不是全部 6 */ 7 #include8 #include 9 #include 10 #include 11 #include 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 Cars21 {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\n", cnt);52 for (int i=1; i<=cnt; ++i) printf ("%d%c", ans[i], (i==cnt) ? '\n' : ' ');53 }54 55 return 0;56 }