题目链接:CF1217A Creating a Character - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
题目大意:
有T组测试数据,每组测试数据有str, int, exp三个参数,可将str, intstr,int增加, 增加的总和严格等于exp, 求有多少种方案使得增加后str>int
思路:
先把n点都分配到力量上,然后先判断现在的力量和智力的点数大小关系,如果小于等于智力,则输出0,反之则减少一个就相当于两个之差减少了2,顺便提一句
坑点:
注释上有
代码:
#include<stdio.h>
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{ int t;
cin>>t;
while(t--)
{
int n,a,b;
cin>>a>>b>>n;
int s=n+1;//每次都有c+1种方案(包括不成立的)
b+=n;
int nn=b-a;//在一个数上一共可以加几次
if(nn==0)
s=n;//因为不可以相同要单独判断
if(nn>0)
s-=(nn/2+1);//一种方案可行对应的另一种方案一定不可行
cout<<max(s,0)<<endl;
}
return 0;
}
总结:
找规律的题