问题A:圆圈填空(yqtk)
  • 板块学术版
  • 楼主sym331
  • 当前回复3
  • 已保存回复3
  • 发布时间2023/4/27 07:55
  • 上次更新2023/10/23 17:26:54
查看原帖
问题A:圆圈填空(yqtk)
920920
sym331楼主2023/4/27 07:55

题目描述

图中有10个小圆圈,其中6个已填入数字,这6个数字的特点是:相邻两数的平方和等于直径另一端相邻两数的平方和。如49249^{2}+22222^{2}=47247^{2}+26226^{2},22222^{2}+19219^{2}=26226^{2}+13213^{2}。要求填入余下的4个空格(小于20的数),使其符合规律。

输入:

一行,十个数字,表示圆圈上从A处开始顺时针方向的十个位置的数值,其中0表示当前位置需要填充数值。

输出:

每行互不相同的四个数字,表示A、B、C、D四个空的填数方案。输出时各个数字之间有空格隔开;要求输出所有的方案,请按样例格式从小到大输出。

输入样例

0 0 47 26 13 0 0 49 22 19

输出样例

2 16 14 8
2 19 14 13
8 14 16 2
8 19 16 13
13 14 19 2
13 16 19 8

错误代码

#include<bits/stdc++.h>
using namespace std;
int main() {
	int A,B,C,D,a,b,c,d,e,f,g;
	cin>>g>>g>>a>>b>>c>>g>>g>>d>>e>>f;
	for(A=1; A<20; A++)
		for(B=1; B<20; B++)
			for(C=1; C<20; C++)
				for(D=1; D<20; D++)
					if(A*A+B*B==C*C+D*D&&A*A+f*f==C*C+c*c&&B*B+a*a==D*D+d*d&&A!=B&&B!=C&&C!=D&&D!=A&&B!=D&&A!=C)
						cout<<A<<" "<<B<<" "<<C<<" "<<D<<" "<<endl;
	return 0;
}
2023/4/27 07:55
加载中...