Gym - 215177C 玩游戏
生活随笔
收集整理的這篇文章主要介紹了
Gym - 215177C 玩游戏
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題意:
ljcc和他的學妹在玩游戲,這個游戲共有 n 輪,在第 i 輪獲勝會獲得 i 分,沒有平局。
現在給出ljcc和學妹的得分,求是否有一種方案符合當前得分。
題解:
第i輪得到i分,一共n輪,總分數就是sum=n * (n+1)/2,先驗證是否存在n使得sum=a+b,然后用a依次從n開始減,減不了就n–,繼續操作,直到a為0
代碼:
#include<bits/stdc++.h> #define debug(a,b) printf("%s = %d\n",a,b); typedef long long ll; using namespace std;inline int read(){int s=0,w=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();//s=(s<<3)+(s<<1)+(ch^48);return s*w; } const int maxn=1e6; int main() {ll a,b;cin>>a>>b;ll i;for(i=1;i<=maxn;i++){ll sum=i*(i+1)/2;if(sum==(a+b)){break;}}if(i==maxn+1)puts("No");else {cout<<i<<" ";for(int j=i;j>=1;j--){if(a==0)break;if(a>=j){if(a==j){cout<<j;break;}else cout<<j<<" ";a-=j;}}}return 0; }總結
以上是生活随笔為你收集整理的Gym - 215177C 玩游戏的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CodeForces - 616D Lo
- 下一篇: 中医针灸能不能治疗近视