UOJ Logo

NOI.AC

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#195304#3418. 鹅鸭杀kusil10012ms1724kbC++1.3kb2023-10-18 18:48:562023-10-18 22:03:19

answer

#include<bits/stdc++.h>
#define int long long
#define endl '\n'
using namespace std;
int n;
bool ll[1010];
bool d[10010]; 
string s[1010][9];
signed main(){
	ios::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);
	cin >> n;
	for (int i =1; i <= n; i ++){
		for (int j = 1;j <= 8; j ++){
			cin >> s[i][j]; 
		}
	}
	for(int i = 1; i <= n; i ++){
		if(d[i] == 0){
			d[i] = 1;
			string sp = s[i][8];
			string zh = s[i][4];
			if(zh == "goose,"){//找所有鹅 ,如果有一个鸭,鹅死
				queue <int> z;
				z.push(i);
				int open = 0; 
				for(int j = i+1; j <= n; j ++){
					if(s[j][8] != sp) continue;
					d[j] = 1;
					if(s[j][4] == "duck,") open = 1;
					else if(s[j][4] == "goose,") z.push(j);
				}
				if(open){
					while(!z.empty()){
						int bbb = z.front();
						z.pop();
						ll[bbb] = 1;
					}
				}
			}else if(zh == "duck,"){//找所有鹅,鹅死 
				queue <int> z;
				for(int j = i+1; j <= n; j ++){
					if(s[j][8] != sp) continue;
					d[j] = 1;
					if(s[j][4] == "goose,") z.push(j);
				}
				while(!z.empty()){
					int bbb = z.front();
					z.pop();
					ll[bbb] = 1;
				}
			}
		}
	}
	for (int i = 1; i <= n; i ++){
		if(ll[i]){
			cout << s[i][1] << " is dead"<<endl;
		}else{
			cout << s[i][1] << " is alive"<<endl;
		}
	}
	
}

详细

小提示:点击横条可展开更详细的信息

Test #1:

score: 10
Accepted
time: 0ms
memory: 1332kb

input:

1
DnONuKkfsK is a duck, it is at VxdjvTXugQrxHcBy

output:

DnONuKkfsK is alive

result:

ok single line: 'DnONuKkfsK is alive'

Test #2:

score: 10
Accepted
time: 0ms
memory: 1324kb

input:

1
h is a goose, it is at DgPHXhVJtkESkHmf

output:

h is alive

result:

ok single line: 'h is alive'

Test #3:

score: 10
Accepted
time: 0ms
memory: 1328kb

input:

2
HRiAYWN is a goose, it is at EL
dgwgYboiuaytmJOAv is a duck, it is at EL

output:

HRiAYWN is dead
dgwgYboiuaytmJOAv is alive

result:

ok 2 lines

Test #4:

score: 10
Accepted
time: 0ms
memory: 1328kb

input:

2
izNydjl is a goose, it is at qYWlAosa
EISnxurnHqHNKDD is a goose, it is at qYWlAosa

output:

izNydjl is alive
EISnxurnHqHNKDD is alive

result:

ok 2 lines

Test #5:

score: 10
Accepted
time: 0ms
memory: 1336kb

input:

10
NSWzSOl is a duck, it is at VCLAQReUMFYoH
owVUjFuAPuutSaKhLqh is a duck, it is at ZYPmZsegdxJOuB
...

output:

NSWzSOl is alive
owVUjFuAPuutSaKhLqh is alive
iamfqstvZbCYSDhlDnbq is alive
T is alive
zGub is alive...

result:

ok 10 lines

Test #6:

score: 10
Accepted
time: 0ms
memory: 1332kb

input:

10
kjbxCSWpMH is a duck, it is at FIlDOBA
gxRn is a duck, it is at zXofss
vIFtyFL is a duck, it is a...

output:

kjbxCSWpMH is alive
gxRn is alive
vIFtyFL is alive
PFeZj is alive
uEy is alive
qnoZYPzR is alive
Rff...

result:

ok 10 lines

Test #7:

score: 10
Accepted
time: 0ms
memory: 1332kb

input:

10
CdhUNaBieDYujJ is a goose, it is at ftZTshCjDGgjvPZ
e is a duck, it is at HHvP
fnjTJMUYgydjEeAFet...

output:

CdhUNaBieDYujJ is alive
e is alive
fnjTJMUYgydjEeAFet is alive
Vvc is alive
MLHmWVs is alive
AYDTmkf...

result:

ok 10 lines

Test #8:

score: 10
Accepted
time: 3ms
memory: 1720kb

input:

1000
zS is a duck, it is at uZoViqfzXzBHnojfjo
WUzyrypHYFMkE is a goose, it is at RqXtorsLNPVXWX
mbV...

output:

zS is alive
WUzyrypHYFMkE is dead
mbVP is alive
iWelC is alive
DqMTir is alive
Zr is alive
BsHCmmN i...

result:

ok 1000 lines

Test #9:

score: 10
Accepted
time: 3ms
memory: 1720kb

input:

1000
luK is a duck, it is at Jr
kz is a duck, it is at Q
momuTR is a duck, it is at beRModCS
HmqEgsw...

output:

luK is alive
kz is alive
momuTR is alive
HmqEgswLg is dead
uFNEeUULkDT is alive
uQgDGhomNgYQuwndOxKn...

result:

ok 1000 lines

Test #10:

score: 10
Accepted
time: 6ms
memory: 1724kb

input:

1000
IbBJmdORPKZQEUANbGl is a duck, it is at OJplxaPZjvPj
BzokAqyWjUIVWu is a duck, it is at xxYRvKG...

output:

IbBJmdORPKZQEUANbGl is alive
BzokAqyWjUIVWu is alive
tLHbuTjOxzopobuOMg is alive
rLeadcccgsTAuIbpOGU...

result:

ok 1000 lines

Extra Test:

score: 0
Extra Test Passed