2018年广东工业大学文远知行杯新生程序设计竞赛 1003 名为青春的悖论β

版权声明:欢迎转载,如果转载,请注明转载地址,谢谢! https://blog.csdn.net/qq_40763929/article/details/84679235

Problem Description

In the world line 1.048596%

在反覆上演的梦境中,两年前的梓川咲太坐在通往沙滩的阶梯,心不在焉地看着七里滨的海。

这也一定是梦,接下来的进展他早已知晓。翔子小姐就要来了。

“咲太小弟今天的心情也处于低潮呢。”,翔子踩着轻快脚步现身,坐在咲太身旁。

“翔子小姐今天也有点烦人呢。”

“即使每天来到海边也没有治愈荒废的心吗?我来告诉你摆脱无聊的方法。我从一个朋友那边听来的。”出乎意料的,翔子小姐站了起来。

“难道是数质数吗?别开玩...”,梓川咲太的话没说完,就被翔子小姐拉到海边,然后一起捡贝壳。

捧满贝壳的梓川咲太,又被拉着用脚在沙滩上踩出圆环的形状。

然后翔子小姐又把贝壳随意的放在圆环上。

做完这一切后,翔子小姐又拉着咲太小弟站到了防波堤上面。

“那么咲太小弟,你知道这些贝壳里面能形成多少个不重复的矩形吗?”

“两个矩形不相同当且仅当选取的四个贝壳的位置不同哦。”

咲太小弟不过是普通的初中生,也许这个问题只有翔子小姐才知道如何解答。

“不要觉得自己不会哦,这无关能力的事情。”翔子小姐温柔的说。

“我的朋友这样说过,许多失败了的未来,无法挽回的过去,但是肯定在这之后,会有连接到......”

......

咲太任凭情感漩涡驱使而想要转身,但是做不到。

梦醒了。

Input

多组输入输出

对于每组样例,第一行一个正整数n(n<=300),代表圆环上有多少个贝壳。

接下来n行分别为这n个贝壳所分割的各个圆弧的长度s(1<=s<=15)。

输入保证:

1:每组样例给出的圆弧的长度按顺时针的顺序给出。

2:所有样例输入的n的和不超过500

Output

对于每组样例,输出一个整数,代表能形成不同矩形的个数

Sample Input

 

8 1 2 2 3 1 1 3 3

Sample Output

 

3

Hint

样例的图如下

#include<iostream>
using namespace std;

int main() {
	int a[300+10];
	int n,m,j,k,i,T,x;
	while (cin>>n) 
	{
		int sum=0,ans=0;
		a[0] = 0;
		for (i=1; i<=n; i++) 
		{
			cin>>x;
			sum+=x;
			a[i] = sum;
		}
		for (int w =0; w<=n-4; w++ ) 
		{
			for (int x = w+1; x<=n-3; x++) 
			{
				for (int y = x+1; y<=n-2; y++) 
				{
					for (int z=y+1; z<=n-1; z++) 
					{
						if (a[x]-a[w]==a[z]-a[y]  && a[y]-a[x]==sum-a[z]+a[w])
						ans++;
					}
				}
			}
		}
		cout<<ans<<endl;
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_40763929/article/details/84679235