神秘比赛,以《哈利波特》为主题……有点难。
C题我熬夜切终于是写出来了,可惜比赛结束了,气啊。
比赛链接:点我。
【A】汤姆·里德尔的日记
题意:
哈利波特正在摧毁神秘人的分灵体(魂器)。第一个他见到的魂器是在密室中的日记本,现在这本日记令金妮打开了密室。
哈利波特想要知道哪些人没有被日记施魔,以确保他们不会被日记影响。
哈利波特有一个名单,依次记录了那些被日记本施魔的人,对于每个人,他想知道这个人的名字在之前有没有出现过。
如果第(i)个字符串之前有相同的字符串,那么输出"YES",否则输出"NO"。
输入:
第一行,一个正整数(n(1leq nleq100))——名单中的字符串数量。
接下来(n)行,每行一个字符串,长度在(1)到(100)之间。
输出:
对于每个字符串,判断它在之前有没有出现过。
题解:
暴力判,你也可以扔到set里面查找,甚至建一棵trie树,我反正暴力判,其实用set写的更方便。
1 #include<cstdio> 2 int n; 3 char str[105][105]; 4 int main(){ 5 scanf("%d",&n); 6 for(int i=1;i<=n;++i){ 7 scanf("%s",str[i]); 8 int ok=0; 9 for(int j=1;j<i;++j){ 10 int o=1,k; 11 for(k=0;str[i][k]!='