题目描述 Description
CCC的足球比赛和传统的足球比赛有一点不同, 一次进球当且仅当先后接触到球的4名队员的球衣编号是升序排列的。
球员的球衣编号从过1到99,并且每个人的编号都不同。
给出最后得分球员的球衣编号,请计算出有多少合法的球员组合能够产生这一进球。
输入描述 Input Description
输入一个整数1<=J<=99,代表进球球员的球衣编号
输出描述 Output Description
输出只有一行,包含一个整数代表有多少种组合能够使得最后进球的球员编号为J。
样例输入 Sample Input
样例输入 1: 4
样例输入 2: 2
样例输入 3: 90
样例输出 Sample Output
样例输出 1: 1
样例输出 2: 0
样例输出 3: 113564
数据范围及提示 Data Size & Hint
无
一看就是个找规律题,,,
感觉应该挺简单的。
是找出了规律。。
f[1]=f[2]=f[3]=0;
f[4]=1;
然后for循环,i从5到n,
f[i]=f[i-1]+3*(i-4);
这是根据图直接看出来的,,,
但好奇怪啊,,大数都过不了。。。
只能拿20分。。
好气啊。。。
正解是直接把结果的规律式推出来了。
(n-1)*(n-2)*(n-3)/6;
ac代码:
1 #include2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 8 int n; 9 10 int main()11 {12 scanf("%d",&n);13 if(n<4) printf("0");14 else printf("%d",(n-1)*(n-2)*(n-3)/6);15 return 0;16 }
如果你不开心,那我就把右边这个帅傻子分享给你吧, 你看,他这么好看,跟个zz一样看着你,你还伤心吗? 真的!这照片盯上他五秒钟就想笑了。 一切都会过去的。 时间时间会给你答案2333