黑羽盗一是一位世界著名的魔术师。(什么?你不认识?他就是黑羽快斗的老爸。你也不认识黑羽快斗???哦,对了,他的身份(怪盗基德)可是个秘密。别声张 啊~~~)有一次他给小快斗变魔术。他准备了10000张卡片,每张卡片上都有一个唯一的数字。他让快斗抽出n张卡片,按照卡片上数字的大小顺序排成一 行。盗一背对着这些卡片,让快斗随便说一个数字,伟大的魔术师黑羽盗一总是能说出这个数字在这行卡片中的位置。快斗问了m遍,盗一没有失误过一次。而他的 秘诀就是——他除了是一个伟大的魔术师之外,还是一个伟大的程序员。
现在,轮到你来重现这个伟大的魔术!!!!!!2
4
-1
解题思路:
排序就可以,这里用的是最简单的冒泡排序,其实可以用快排的。懒了啊。
#include <stdio.h> #include<math.h> main() { int number,te; int number1,number2; int a[10000],flag; int i,j,temp,b; scanf("%d",&number); for(te=1;te<=number;te++) { scanf("%d %d",&number1,&number2); for(i=0;i<number1;i++) scanf("%d",&a[i]); for(i=0;i<number1;i++) for(j=i+1;j<number1;j++) { if(a[i]>a[j]) { temp=a[i]; a[i]=a[j]; a[j]=temp; } } for(i=0;i<number2;i++) { scanf("%d",&b); flag=0; for(j=0;j<number1;j++) if(a[j]==b) { flag=1; printf("%d\n",j+1); break; } if(flag==0) printf("-1\n"); } } }