# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
233380 |
2020-05-20T10:56:41 Z |
topovik |
Izlet (COI19_izlet) |
C++14 |
|
1773 ms |
35856 KB |
#include <bits/stdc++.h>
//#include <ext/pb_ds/assoc_container.hpp>
//#include <ext/pb_ds/tree_policy.hpp>
#define f first
#define s second
#define pb push_back
#define INF 1000000000
#define N (long)1e5+2
using namespace std;
typedef long long ll;
typedef long double ld;
vector <vector <int> > gr;
vector <vector <int> > a1;
int n;
int pred[N];
int r[N];
int ans[N];
int a[3000][3000];
int Set(int x)
{
if (pred[x]==x) return x;
else return pred[x]=Set(pred[x]);
}
void unite(int x, int y)
{
if (r[x]>r[y]) pred[y]=x;
else
{
pred[x]=y;
if (r[x]==r[y]) r[y]++;
}
}
void Check()
{
bool mrk[n];
for (int i=0; i<n; i++) mrk[i]=0;
for (int i=0; i<n; i++)
if (pred[i]==i) mrk[i]=1;
for (int i=0; i<n; i++)
for (int j=i+1; j<n; j++)
if (i!=j && mrk[i] && mrk[j] && a[i][j]==2) a1[i].pb(j),a1[j].pb(i);
}
int main()
{
cin>>n;
cin>>n;
gr.resize(n);
for (int i=0; i<n; i++)
for (int j=0; j<n; j++) cin>>a[i][j];
int mx=0;
for (int i=0; i<n; i++)
for (int j=0; j<n; j++) mx=max(mx,a[i][j]);
int ans[n];
ans[0]=1;
int uniq=1;
for (int i=1; i<n; i++)
{
bool g=1;
for (int j=i; j>=0; j--)
if (a[j][i-1]==a[j][i]) {g=0;ans[i]=ans[j];break;}
if (g) uniq++,ans[i]=uniq;
}
for (int i=0; i<n; i++) cout<<ans[i]<<" ";
cout<<endl;
for (int i=0; i<n-1; i++) cout<<i+1<<" "<<i+2<<"\n";
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
5 ms |
512 KB |
Integer 0 violates the range [1, 30] |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
1773 ms |
35856 KB |
Integer 0 violates the range [1, 3000] |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
5 ms |
512 KB |
Integer 0 violates the range [1, 30] |
2 |
Halted |
0 ms |
0 KB |
- |