zoukankan      html  css  js  c++  java
  • hdu4861 找规律了

    题意:
         给你k个球和一个整数p,每个球的价值是 1^i+2^i+...+(p-1)^i (mod p),两个人轮流取球,最后谁的总价值也大谁就赢,问你先手能不能赢。


    思路:
         一开始我的感觉是无论怎么样先手都会赢,结果一看给的测试数据,soga那么也就只有两中情况,先手赢或者平手(真不公平),据说是数学题,反正我是不会推,直接打个表看一下,发现规律很水啊,下面给出打表代码和ac代码。

    ac代码
    #include<stdio.h>
    int main ()
    {
       int k ,p;
       while(~scanf("%d %d" ,&k ,&p))
       {
          k/(p-1)%2 ? puts("YES") : puts("NO");
       }
       return 0;
    }


    打表代码
    #include<stdio.h>
    #include<math.h>
    int main ()
    {
       int i ,j ,sum;
       printf("10 3 ");
       for(i = 1 ;i <= 10 ;i ++)
       {
          sum = 0;
          for(j = 1 ;j < 3 ;j ++)
          sum = sum + int (pow(j * 1.0 ,i * 1.0)) % 3;
          printf("%d " ,sum % 3);
       }
       
       printf(" 10 5 ");
       for(i = 1 ;i <= 10 ;i ++)
       {
          sum = 0;
          for(j = 1 ;j < 5 ;j ++)
          sum = sum + int (pow(j * 1.0 ,i * 1.0)) % 5;
          printf("%d " ,sum % 5);
       }
       getchar();
    }
  • 相关阅读:
    Redis面试题 总结
    C++ 自由存储区是否等价于堆?(转)
    线程同步方式
    epoll的原理 (一)(转)
    C/C++ 中 volatile 关键字详解(转)
    Linux堆内存管理
    找出数组中出现次数超过一半的数
    剑指offer-复杂链表的复制
    已知二叉树前序中序遍历重建二叉树
    Linux常用命令
  • 原文地址:https://www.cnblogs.com/csnd/p/12062939.html
Copyright © 2011-2022 走看看