#20341: 求救NA(0%)


089487 (089487)

學校 : 國立臺灣師範大學附屬高級中學
編號 : 82069
來源 : [220.130.10.185]
最後登入時間 :
2024-04-01 11:16:18
a454. TOI2010 第二題:專案時程 -- 2010TOI研習營初選 | From: [223.137.244.97] | 發表日期 : 2020-01-08 20:58

請問我的想法有錯嗎?

程式如下:

#include<bits/stdc++.h>
using namespace std;
struct _a
{
int val;
set<int> to;
};
int main()
{
int t;
cin>>t;
while(t--)
{
int k;
cin>>k;
_a l[k];
bool f[k];
memset(f,0,sizeof(f));
int ans;
for(int i=0;i<k;i++)
{
cin>>l[i].val;
int r,b;
cin>>r;
if(r!=0) while(r--) cin>>b,b--,l[i].to.insert(b),f[b]=1;
}
int n[k];
memset(n,0,sizeof(n));
//int pos=find(f,f+k,0)-f;
//n[pos]=l[pos].val;
queue<int> q;
//q.push(pos);
for(int i=0;i<k;i++)
{
if(!f[i]) n[i]=l[i].val,q.push(i);
}
while(!q.empty())
{
for(auto i:l[q.front()].to)
{
if(!n[i]) q.push(i),n[i]=n[q.front()]+l[i].val;
else n[i]=max(n[i],n[q.front()]+l[i].val);
}
q.pop();
for(auto i:n) cout<<i<<" ";
cout<<"\n";
}
cout<<*max_element(n,n+k)<<"\n";
}
}

#0: 20% WA (line:1)

您的答案為: 46
正確答案為: 47

#1: 20% WA (line:1)

您的答案為: 67
正確答案為: 118

#2: 20% WA (line:4)

您的答案為: 52
正確答案為: 60

#3: 20% WA (line:1)

您的答案為: 78
正確答案為: 535

#4: 20% WA (line:1)

您的答案為: 67
正確答案為: 104
 
#20583: Re:求救NA(0%)


ohmygod0193 (2.7182818284590450907955982984...)

學校 : 國立臺灣師範大學附屬高級中學
編號 : 75658
來源 : [223.137.198.149]
最後登入時間 :
2024-01-28 12:04:13
a454. TOI2010 第二題:專案時程 -- 2010TOI研習營初選 | From: [223.137.208.39] | 發表日期 : 2020-02-10 15:56

請問我的想法有錯嗎?

程式如下:2; 2; 

#include<bits/stdc++.h>
using namespace std;
struct _a
{
int val;
set to;
};
int main()
{
int t;
cin>>t;
while(t--)
{
int k;
cin>>k;
_a l[k];
bool f[k];
memset(f,0,sizeof(f));
int ans;
for(int i=0;i<k;i++)
{
cin>>l[i].val;
int r,b;
cin>>r;
if(r!=0) while(r--) cin>>b,b--,l[i].to.insert(b),f[b]=1;
}
int n[k];
memset(n,0,sizeof(n));
//int pos=find(f,f+k,0)-f;
//n[pos]=l[pos].val;
queue q;
//q.push(pos);
for(int i=0;i<k;i++)
{
if(!f[i]) n[i]=l[i].val,q.push(i);
}
while(!q.empty())
{
for(auto i:l[q.front()].to)
{
if(!n[i]) q.push(i),n[i]=n[q.front()]+l[i].val;
else n[i]=max(n[i],n[q.front()]+l[i].val);
}
q.pop();
for(auto i:n) cout<<i<<" ";
cout<<"\n";
}
cout<<*max_element(n,n+k)<<"\n";
}
}

#0: 20% WA (line:1)

您的答案為: 46
正確答案為: 47

#1: 20% WA (line:1)

您的答案為: 67
正確答案為: 118

#2: 20% WA (line:4)

您的答案為: 52
正確答案為: 60

#3: 20% WA (line:1)

您的答案為: 78
正確答案為: 535

#4: 20% WA (line:1)

您的答案為: 67
正確答案為: 104

當然有阿,不然為什麼會NA(0%)

 
ZeroJudge Forum