台灣最大程式設計社群網站
線上人數
1236
 
會員總數:240117
討論主題:186188
歡迎您免費加入會員
討論區列表 >> C/C++ >> C++數獨
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
C++數獨
價值 : 40 QP  點閱數:208 回應數:5

樓主

Jian shin
門外漢
0 2
43 3
發送站內信

我拿程式解題所提供的資料測試沒有問題,但是丟入解題時,一直說答案錯了,應該是NO我的答案卻是YES,可是我一直找不到我的盲點在哪,麻煩大大幫我解答QQ

程式碼如下:
---------------------------------------------------
#include<iostream>

using namespace std;

int main()
{
int num[9][9];
int height = 0;
int width = 0;
int triple = 0;
int found = 0;

while (cin >> num[0][0])
{

for (int aaa = 1;aaa < 9; aaa++)
{
cin >> num[0][aaa];
}
for (int i = 1; i < 9; i++)
{
for (int j = 0 ;j < 9 ;j++)
{
cin >> num[i][j];
}
}

for (int a = 0; a < 9; a++)
{
height = 0;
for (int b = 0; b < 9; b++)
{
height = height + num[b][a];
}

if (height != 45)
{
found = 1;
break;
}
else
{
}
}
for (int q = 0; q < 9; q++)
{
width = 0;
for (int w = 0; w < 9; w++)
{
width = width + num[q][w];
}

if (width != 45)
{
found = 1;
break;
}
else
{
}
}

for (int x = 0; x < 9; x = x + 3)
{
for (int y = 0; y < 9; y = y + 3)
{
triple = 0;
for (int g = x; g < x + 3; g++)
{
for (int h = y; h < y + 3; h++)
{
triple = triple + num[g][h];
}
}
if (triple != 45)
{
found = 1;
break;
}
else
{
}
}
}

if (found == 1)
{
cout << "no" << endl;
}
else
{
cout << "yes" << endl;
}
}

return 0;
}




搜尋相關Tags的文章: [ C++ ] , [ 數獨 ] ,
本篇文章發表於2017-05-02 23:30
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

小魚
檢舉此回應
看起來沒什麼問題,
我去網路上找了一組正確的數字,
輸入進去也跟我說yes,
我猜會不會你輸入的數字錯了
本篇文章回覆於2017-05-28 00:17
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

Jian shin
檢舉此回應
他是高中解題的其中一題,我拿這個CODE都無法通過測資QQ
本篇文章回覆於2017-06-07 16:22
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

小魚
檢舉此回應
如果你願意的話,你可以拿測資給我測測看
本篇文章回覆於2017-06-07 22:19
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

Jian shin
檢舉此回應
https://zerojudge.tw/ShowProblem?problemid=a016 這是他的測資網站
本篇文章回覆於2017-07-10 11:03
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

小魚
檢舉此回應
過了這麼久,還沒解決啊...
本篇文章回覆於2017-07-10 20:06
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.