开场开A,A题shl看错题意,被制止。然后开始手推A,此时byf看错E题题意,开始上机。推出A的规律后,shl看了E题,发现题意读错。写完A题,忘记判断N=0的情况,WA+1。过了A后,shl重新写E,lfw开始开J题,E题过不了样例,lfw多次起立让shl调试,然后shl拿到E的一血,lfw之后过了J。byf开始开I题,shl口胡出M做法,然后lfw和shl一起推G题。byf过了I题后,shl推出G题,byf去写。然后lfw开始计算几何,经过查错后过掉,然后shl开始开M题,过掉后还剩最后半小时,无题可做。

最后罚时很多,因为前期签到题过得太慢,A题40+分钟才过,J题1小时40分钟才过。

题解

A - Adrien and Austin

 题解:给你n给石头,下标依次为1~n,然后两个人轮流取石头,每次取1~k个连续下标的石头,最后不能取得输掉比赛。问你谁会获胜。

找规律,首先,n==0时,第一个人必败。k==1时,n为奇数时先手必胜。k>1时,先手必胜.

参考代码:

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 typedef long long LL;
 4 const int mod=1e9+7;
 5 LL quick_pow(LL a,LL b)
 6 {
 7     LL ans=1;
 8     while(b)
 9     {
10         if(b&1) ans=ans*a%mod;
11         a=a*a%mod;
12         b>>=1;
13     }
14     return ans;
15 }
16 int main()
17 {
18     int t;
19     scanf("%d",&t);
20     int l24=quick_pow(24,mod-2);
21     while(t--)
22     {
23         int n;
24         scanf("%d",&n);
25         LL ans=1;
26         ans=ans*n%mod;
27         ans=ans*(n+1)%mod;
28         ans=ans*(n+2)%mod;
29         ans=ans*(n+3)%mod;
30         ans=ans*l24%mod;
31         printf("%lld\n",ans);
32     }
33 }
View Code

相关文章:

  • 2021-12-04
  • 2022-12-23
  • 2021-05-29
  • 2021-07-08
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-12-19
  • 2021-09-03
  • 2021-07-20
  • 2022-01-11
  • 2021-10-22
相关资源
相似解决方案