Pagini recente » Borderou de evaluare (job #496060) | Borderou de evaluare (job #576524) | Borderou de evaluare (job #2494455) | Borderou de evaluare (job #3141348) | Borderou de evaluare (job #3032513)
Borderou de evaluare (job #3032513)
Raport evaluator
Compilare:
main.cpp: In function 'void solve()':
main.cpp:3:438: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<edge>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
3 | ifstream fin("copsamica.in");ofstream fout("copsamica.out");struct edge {int cst,x,y;bool operator < (const edge &other) {return cst>other.cst;}};vector<edge>e;int grad[1002],p[1002],t,n;int find(int x) {if(p[x]==x)return x;return p[x]=find(p[x]);}void solve(){fin>>n;e.clear();for(int i=1; i<=n;i++){for(int j=i+1;j<=n;j++){int a;fin>>a;e.push_back({a,i,j});}}for(int i=1;i<=n;i++)p[i]=i, grad[i]=0;sort(e.begin(),e.end());for(int i=0;i<e.size();i++){auto [cst, x, y]=e[i];if(grad[x]>1||grad[y]>1||find(x)==find(y))continue;else{grad[x]++;grad[y]++;fout<<x<<" "<<y<<" "<<cst<<"\n";x=find(x);y=find(y);p[x]=y;}}vector<int>a;for(int i=1;i<=n;i++){if(grad[i]==1)a.push_back(i);}fout<<a[0]<<" "<<a[1]<<" 0\n";}int main (){fin>>t;while(t--)solve();return 0;}
| ~^~~~~~~~~
Test |
Timp executie |
Memorie folosita |
Mesaj |
Punctaj/test |
1 | 0ms | 303kb | OK! | 10 |
2 | 0ms | 303kb | OK! | 10 |
3 | 1ms | 557kb | OK! | 10 |
4 | 1ms | 557kb | OK! | 10 |
5 | 24ms | 2064kb | OK! | 10 |
6 | 29ms | 2076kb | OK! | 10 |
7 | 118ms | 6647kb | OK! | 10 |
8 | 118ms | 6873kb | OK! | 10 |
9 | 123ms | 6758kb | OK! | 10 |
10 | 123ms | 6701kb | OK! | 10 |
Punctaj total | 100 |