#11181: 第二筆資料 輸出錯誤


f1026109 (ernest)

學校 : 東海大學
編號 : 58344
來源 : [61.224.147.214]
最後登入時間 :
2016-11-16 11:11:29
a981. 求和問題 | From: [111.246.40.163] | 發表日期 : 2016-07-16 17:29

第 1 測資點(20%): AC (0ms, 116KB) 
通過檢測 

 

第 2 測資點(20%): WA (line:8) 
答案不正確 

您的答案為: 10 90
正確答案為: 10 40 50

第 3 測資點(20%): AC (0ms, 120KB) 
通過檢測 

 

第 4 測資點(20%): AC (0ms, 80KB) 
通過檢測 

 

第 5 測資點(20%): AC (1.9s, 8.3MB) 
通過檢測

 

 

//

//  main.cpp

//  Copyright © 2016年 Ernest. All rights reserved.

//

 

#include <iostream>

#include <cmath>

#include <vector>

#include <algorithm>

#include <queue>

//#include "permutation_p37.h"

using namespace std;

 

vector<long> res;  //儲存所使用到的資料

vector<long> val;  //儲存input

queue<vector<long>> q;  //用以排除同樣的結果

long n,m;

void dfs(long sum=0,long step=0,long use_count=0){

if(sum==m){

vector<long> temp;

for (long i = 0 ;i<

use_count;++i) {

temp.push_back(res.at(i));

}

q.push(temp);

return;

}

if(step>=n||sum>m)

return;

res.at(use_count) = val.at(step);

dfs(sum+val.at(step),step+1,use_count+1);

dfs(sum, step+1,use_count);

 

}

int main() {

// solve();

long temp;

while(cin>>n){

long t=n;

cin>>m;

val.clear();

while(t--){

cin>>temp;

val.push_back(temp);

}

sort(val.begin(), val.end());

res.clear();

res.resize(n);

dfs();

vector<long> temp{};

if(q.size()){

while (q.size()) {

if(temp != q.front()){

temp = q.front();

for (auto it = temp.begin(); it!=temp.end(); ++it) {

cout<<*it<<" ";

}

cout<<endl;

}

q.pop();

}

}

else

cout<<"-1"<<endl;

}

return0;

}

 
#33705: Re: 第二筆資料 輸出錯誤


leolin0214@gmail.com (林祺祐)

學校 : 高雄市立高雄高級中學
編號 : 186388
來源 : [140.122.184.57]
最後登入時間 :
2024-04-16 08:53:08
a981. 求和問題 | From: [106.1.66.150] | 發表日期 : 2023-01-24 21:39

第 1 測資點(20%): AC (0ms, 116KB) 
通過檢測 

 

第 2 測資點(20%): WA (line:8) 
答案不正確 

您的答案為: 10 90
正確答案為: 10 40 50

第 3 測資點(20%): AC (0ms, 120KB) 
通過檢測 

 

第 4 測資點(20%): AC (0ms, 80KB) 
通過檢測 

 

第 5 測資點(20%): AC (1.9s, 8.3MB) 
通過檢測

 

 

//

//  main.cpp

//  Copyright © 2016年 Ernest. All rights reserved.

//

 

#include

#include

#include

#include

#include

//#include "permutation_p37.h"

using namespace std;

 

vector res;  //儲存所使用到的資料

vector val;  //儲存input

queue> q;  //用以排除同樣的結果

long n,m;

void dfs(long sum=0,long step=0,long use_count=0){

if(sum==m){

vector temp;

for (long i = 0 ;i<

use_count;++i) {

temp.push_back(res.at(i));

}

q.push(temp);

return;

}

if(step>=n||sum>m)

return;

res.at(use_count) = val.at(step);

dfs(sum+val.at(step),step+1,use_count+1);

dfs(sum, step+1,use_count);

 

}

int main() {

// solve();

long temp;

while(cin>>n){

long t=n;

cin>>m;

val.clear();

while(t--){

cin>>temp;

val.push_back(temp);

}

sort(val.begin(), val.end());

res.clear();

res.resize(n);

dfs();

vector temp{};

if(q.size()){

while (q.size()) {

if(temp != q.front()){

temp = q.front();

for (auto it = temp.begin(); it!=temp.end(); ++it) {

cout<<*it<<" ";

}

cout<

}

q.pop();

}

}

else

cout<<"-1"<

}

return0;

}

他的答案超機車要你輸出兩次10 40 50,而且我發現不只第8行錯誤而已,還有13行、16行(and more)都要你重複輸出,抗議xwx

 
#33713: Re: 第二筆資料 輸出錯誤


asnewchien@gmail.com (david)

學校 : 不指定學校
編號 : 68108
來源 : [1.168.27.116]
最後登入時間 :
2024-03-31 17:58:15
a981. 求和問題 | From: [42.76.127.17] | 發表日期 : 2023-01-25 11:12

測資如果是 10 10 40 50 取 100

那10 40 50 出現兩次,應該合理。

題目好像沒說重複的要排除。

 
#33738: Re: 第二筆資料 輸出錯誤


leolin0214@gmail.com (林祺祐)

學校 : 高雄市立高雄高級中學
編號 : 186388
來源 : [140.122.184.57]
最後登入時間 :
2024-04-16 08:53:08
a981. 求和問題 | From: [106.1.66.150] | 發表日期 : 2023-01-29 12:51

測資如果是 10 10 40 50 取 100

那10 40 50 出現兩次,應該合理。

題目好像沒說重複的要排除。

對耶,第一次寫有問題,之後寫就沒發現就莫名其妙把他忘了

 
#33743: Re: 第二筆資料 輸出錯誤


asnewchien@gmail.com (david)

學校 : 不指定學校
編號 : 68108
來源 : [1.168.27.116]
最後登入時間 :
2024-03-31 17:58:15
a981. 求和問題 | From: [1.168.1.151] | 發表日期 : 2023-01-29 18:03

你把程式包成這樣

def main():

    .....

main()

看速度有沒有比較快。

 
ZeroJudge Forum