UOJ Logo

NOI.AC

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#195691#3418. 鹅鸭杀zjxuan1009ms1448kbC++111.2kb2023-10-18 20:36:482023-10-18 22:31:55

answer

#include<bits/stdc++.h>
using namespace std;
int n;
struct fw {
	string name,plys;
	bool d_a,g_d;//0为鸭,1为鹅 
}a[1145];
map<string,int> mp;
int main() {
	cin>>n;
	n++;
	for(int i=1;i<=n;i++) {
		string str;
		int ans=0;
		getline(cin,str);
		for(int j=0;j<str.size();j++) {
			if(str[j]!=' ') {
				ans++;
				a[i].name+=str[j];
			}
			else break;
		}
		str.erase(0,ans+6);
		if(str[0]=='d'&&str[3]=='k') {
			a[i].g_d=0;
			str.erase(0,15);
		}
		else  {
			a[i].g_d=1;
			str.erase(0,16);
		}
		for(int j=str.size()-1;j>=0;j--) {
			a[i].plys=str[j]+a[i].plys;
		}
		if(a[i].g_d==0) 
			mp[a[i].plys]=1; 
	}
	for(int i=2;i<=n;i++) {
		if(a[i].g_d==1 && mp[a[i].plys] && a[i].name[0]!=' ') {
			cout<<a[i].name<<" is dead\n";
		}
		else if((!a[i].g_d==1 || !mp[a[i].plys] )&& a[i].name[0]!=' ')
			cout<<a[i].name<<" is alive\n";
	}
//	for(int i=1;i<=n;i++) {
//		cout<<a[i].name<<' '<<a[i].plys<<'\n';
//	}
	return 0;
}
//6
//Rice is a goose, it is at Laboratory
//Duck is a goose, it is at Laboratory
//Putata is a duck, it is at Storage
//Budada is a duck, it is at Laboratory
//Gwa is a goose, it is at LaboratorY
//DDY is a duck, it is at Storage

详细

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

Test #1:

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

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: 1292kb

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: 1ms
memory: 1292kb

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: 1292kb

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: 1292kb

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: 1300kb

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: 1300kb

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: 0ms
memory: 1448kb

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: 4ms
memory: 1444kb

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: 4ms
memory: 1448kb

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