noj1057

该题如果用数组存储再进行搜索的方式会超时,然而此题有一定技巧,因为最后一定只剩下一个元素,而原来的元素一定是从1~2^k,所以只需要先算出1~2^k再减去找到的数即可

AC代码如下:

#include <stdio.h>
#include <math.h>
 int main()
 {
     int k,sum,i,c,n;
     scanf("%d",&k);
     n=pow(2,k);
     sum=(n+1)*n/2;
     for (i=1;i<=n-1;i++)
     {
        scanf("%d",&c);
        sum=sum-c;
     }
     printf("%d\n",sum);

 }



你可能感兴趣的:(noj1057)