?? 1022.cpp
字號:
/* This Code is Submitted by wywcgs for Problem 1022 on 2005-12-13 at 16:23:16 */
#include <cstdio>
const int MAX = 128;
class Unit {
public:
int id;
int check[2];
bool good[2];
void init();
};
void Unit::init() {
int i;
scanf("%d", &id);
for(i = 0; i < 2; i++) {
char status;
scanf("%d %c", &check[i], &status);
if(status == 'Y') {
good[i] = true;
} else {
good[i] = false;
}
}
}
int main()
{
Unit unit[MAX];
int t, T, i, j, k;
int n;
scanf("%d", &T);
for(t = 0; t < T; t++) {
scanf("%d", &n);
for(i = 0; i < n; i++) {
unit[i].init();
}
int faulty = -1;
for(i = 0; i < n; i++) {
bool maybe = true;
for(j = 0; j < n && maybe; j++) {
for(k = 0; i != j && k < 2 && maybe; k++) {
if(unit[j].check[k] == unit[i].id && unit[j].good[k]) {
maybe = false;
} else if(unit[j].check[k] != unit[i].id && !unit[j].good[k]) {
maybe = false;
}
}
}
if(maybe) {
if(faulty == -1) {
faulty = unit[i].id;
} else {
faulty = -1;
break;
}
}
}
if(faulty == -1) {
printf("impossible\n");
} else {
printf("%d\n", faulty);
}
}
return 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -