藍橋杯歷年真題及答案大全,藍橋杯2017年第八屆C/C++省賽C組第八題-九宮幻方

 2023-12-25 阅读 27 评论 0

摘要:題目描述 源代碼 #include <iostream> #include <cstdio> #include <algorithm> using namespace std; int f[9]; int b[9]; int a[9]={1,2,3,4,5,6,7,8,9}; int judge[8]; int main() {for (int i = 0; i < 9; ++i) {cin>>f[i];}

題目描述

在這里插入圖片描述

源代碼

#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
int f[9];
int b[9];
int a[9]={1,2,3,4,5,6,7,8,9};
int judge[8];
int main()
{for (int i = 0; i < 9; ++i) {cin>>f[i];}int ans=0;do{judge[0] = a[0] + a[1] + a[2];      // 三行judge[1] = a[3] + a[4] + a[5];judge[2] = a[6] + a[7] + a[8];judge[3] = a[0] + a[3] + a[6];      // 三列judge[4] = a[1] + a[4] + a[7];judge[5] = a[2] + a[5] + a[8];judge[6] = a[0] + a[4] + a[8];      // 兩條對角線judge[7] = a[2] + a[4] + a[6];int flag=1;for(int i=0;i<8;i++){if(judge[0]!=judge[i]) {flag=0;break;}}if(flag==1){for (int i = 0; i < 9; ++i) {if(f[i]&&a[i]!=f[i]){flag=0;break;}}if (flag==1) {ans++;for(int i=0;i<9;i++) b[i]=a[i];}}}while (next_permutation(a,a+9));if(ans>1) cout<<"Too Many";else{for (int i = 0; i < 9; ++i) {if(i%3==0) cout<<endl;cout<<b[i]<<" ";}}return 0;
}

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/194721.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息