UOJ Logo

NOI.AC

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#195711#3418. 鹅鸭杀zhangkaixuan10028ms1424kbC++1.3kb2023-10-18 20:50:252023-10-18 22:33:08

answer

#include<bits/stdc++.h>
using namespace std;
int n;
struct zzz {
	int num,orders;
	string places,names,ans;
	bool have;
};
zzz a[1010];
bool cmp(zzz x,zzz y) {
	if(x.num==y.num) {
		return x.places<y.places;
	}
	return x.num>y.num;
}
bool cmp2(zzz x,zzz y) {
	return x.orders<y.orders;
}
int main() {
	//freopen(".in","r",stdin);
	//freopen(".out","w",stdout);
	cin>>n;
	string ans1="alive",ans2="dead";
	string x1,x2,x3,x4,x5,x6,y1,y2;
	char xx;
	int l=0;
	for(int i=1; i<=n; i++) {
		cin>>a[i].names>>x1>>x2>>y1>>x4>>x5>>x6>>y2;
		//cout<<a[i].names<<" "<<y1<<" "<<y2<<endl;
		a[i].orders=i;
		if(y1=="duck,") {
			a[i].num=2;
			a[i].places=y2;
			a[i].ans=ans1;
		} else {
			l++;
			a[i].num=1;
			a[i].places=y2;
		}
	}
	sort(a+1,a+1+n,cmp);
//	cout<<l<<" "<<n-l+1<<endl;
//	for(int i=1; i<=n; i++) {
//		cout<<a[i].names<<" "<<a[i].num<<" "<<a[i].places<<endl;
//	}
//	cout<<endl;
	if(n-l==0) {
		for(int i=1; i<=n; i++)
			a[i].ans=ans1;
	}
	for(int i=1; i<=n-l; i++) {
		for(int j=n-l+1; j<=n; j++) {
			if(a[j].have==0) {
				if(a[i].places==a[j].places) {
					a[j].ans=ans2;
					a[j].have=1;
				} else {
					a[j].ans=ans1;

				}
			}

		}
	}
	sort(a+1,a+1+n,cmp2);
	for(int i=1; i<=n; i++) {
		cout<<a[i].names<<" is "<<a[i].ans<<endl;
	}
	return 0;
}

详细

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

Test #1:

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

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

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

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

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

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

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

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: 8ms
memory: 1424kb

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: 8ms
memory: 1420kb

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