版权声明:iQXQZX https://blog.csdn.net/Cherishlife_/article/details/85240697
四月は君の嘘
Time Limit: 1000 ms Memory Limit: 65536 KiB
Problem Description
入梦落樱满薰香,梦醒犹记四月谎。
庆典音乐会就要开始了,宫园熏成功地邀请到“昔日的钢琴天才”有马公生来为她伴奏,可是他们却不知道改选择哪首曲子来演奏。有马公生君因为好久没有碰过钢琴了,所以他希望在音乐会上把所有的钢琴键都弹奏一遍,小薰虽然对于公生这种奇怪的癖好很不理解,不过她还是愿意听公生的话。
钢琴共88个键,每种键都有自己独特的编号,不过在不同的曲子中它的编号是不同的,现在告诉你这首曲子需要按哪些钢琴键,请输出这首曲子是否符合小薰和公生的要求。
Input
第一行是一个整数T,代表有T组测试数据。
每组数据第一行有一个整数n,代表这首曲子需要按多少次钢琴键。
第二行输入n个整数ai,不同的整数代表不同的按键。
(1<=T<=10,1<=n<=100000,1<=ai<=100000)
扫描二维码关注公众号,回复:
4701992 查看本文章
Output
如果这首乐谱超过了88个不同的按键,输出“impossible”(不含引号)。
如果这首曲子符合小薰和公生的要求,输出“/^o^\”(不含引号),如果不符合输出“/-o-\”(不含引号)。
Sample Input
3 3 5 2 7 5 3245 4567 4353 34 45 1 3243
Sample Output
/-o-\ /-o-\ /-o-\
Hint
Source
嘟嘟噜
这题被 memset(a, 0, sizeof(a)); 和 a[100003]={0}; 坑了 我的锅我的锅 基础知识不扎实
a[100003]={0};和memset不一样
存档存个教训
#include <bits/stdc++.h>
using namespace std;
int main()
{
int t, n, k;
int a[100003];
cin >> t;
while (t--)
{
memset(a, 0, sizeof(a)); // 注意a[100003]={0};和memset不一样
cin >> n;
int cnt = 0;
for (int i = 0; i < n; i++)
{
cin >> k;
if (a[k] == 1)
continue;
else
{
cnt++;
a[k] = 1;
}
}
// cout << cnt << endl;
if (cnt == 88)
cout << "/^o^\\" << endl;
else if (cnt > 88)
cout << "impossible" << endl;
else if (cnt < 88)
cout << "/-o-\\" << endl;
}
return 0;
}