@PaulGuan
2016-10-18T16:42:20.000000Z
字数 508
阅读 800
算法 题解
给定4个空,排列为2*2,在这四个空填不相等的4个1-9的数,使得横向,纵向,斜向的和均满足给定的要求。若没有,输出-1.
下面是一个例子
鉴于此题的数据范围,直接穷举即可。
#include <iostream>using namespace std;int main(void){int r1,r2,c1,c2,d1,d2;cin>>r1>>r2>>c1>>c2>>d1>>d2;int i,j,k,l;for(i=1;i<10;i++)for(j=1;j<10;j++){if(j==i)continue;for(k=1;k<10;k++){if(k==j||k==i)continue;for(l=1;l<10;l++){if(l==k||l==j||l==i)continue;if(i+j==r1&&k+l==r2&&i+k==c1&&j+l==c2&&i+l==d1&&j+k==d2){cout<<i<<" "<<j<<endl;cout<<k<<" "<<l<<endl;return 0;}}}}cout<<"-1"<<endl;return 0;}