제출 #297327

#제출 시각아이디문제언어결과실행 시간메모리
297327kshitij_sodaniVision Program (IOI19_vision)C++14
컴파일 에러
0 ms0 KiB
//nowruz backup #include <bits/stdc++.h> using namespace std; typedef long long llo; #define a first #define b second #define pb push_back int it[1100][1100]; char ans[1100][1100]; int deg[1100][1100]; mt19937 rng; vector<int> x={1,-1,0,0}; vector<int> y={0,0,1,-1}; int n,m,k; void push(pair<int,int> no){ for(int i=0;i<4;i++){ int xo=x[i]+no.a; int yy=y[i]+no.b; if(xo<0 or yy<0 or xo>=n or yy>=m){ continue; } if(it[xo][yy]==0){ continue; } deg[xo][yy]+=1; } } int cur; void solve(){ rng=mt19937(chrono::steady_clock::now().time_since_epoch().count()); cin>>n>>m>>k; vector<pair<int,int>> xx; pair<int,int> st={-1,-1}; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ char s; cin>>s; if(s=='#'){ it[i][j]=0; } else{ it[i][j]=1; xx.pb({i,j}); /* if(cur==9 and st.a!=-1){ continue; }*/ st={i,j}; } } } int ma=-1; for(int ii=0;ii<10;ii++){ for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ deg[i][j]=0; } } shuffle(xx.begin(),xx.end(),rng); //if(cur==9){ st=xx[0]; //} //=xx[0]; queue<pair<int,int>> ss; ss.push(st); push(st); vector<pair<int,int>> tt; tt.pb(st); while(ss.size()){ pair<int,int> no=ss.front(); ss.pop(); tt.pb(no); vector<int> st={0,1,2,3}; //shuffle(st.begin(),st.end(),rng); for(auto i:st){ int xo=x[i]+no.a; int yy=y[i]+no.b; if(xo<0 or yy<0 or xo>=n or yy>=m){ continue; } if(it[xo][yy]==0){ continue; } if(deg[xo][yy]==1){ push({xo,yy}); ss.push({xo,yy}); } } } //continue; int co=0; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ if(deg[i][j]==1){ co+=1; } } } if(co>ma){ ma=co; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ if(it[i][j]==0){ ans[i][j]='#'; } else{ ans[i][j]='X'; } } } //cout<<tt.size()<<endl; for(auto i:tt){ ans[i.a][i.b]='.'; } } } for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ cout<<ans[i][j]; } cout<<endl; } /* for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ if(i==m-1){ cout<<"."; continue; } if(j==m-1){ cout<<"X"; continue; } if(j%3==1){ cout<<"."; continue; } else{ if((j/3)%2==0){ if(i<m-3 and i%2==0){ cout<<"."; continue; } } else{ if(i<m-3 and i%2==1){ cout<<"."; continue; } } } cout<<"X"; continue; if(j%4==1){ cout<<"."; continue; } else if(j%4==0 or j%4==2){ if((m-i)%2==1){ cout<<"."; continue; } } else{ if(i==m-1 or i==m-2){ cout<<"."; continue; } } // else{ cout<<"X"; // } } cout<<endl; } */ } int main(){ for(int i=1;i<=10;i++){ if( i==2 or i==4){ continue; } cur=i; freopen(("nowruz"+to_string(i)+".in.txt").c_str(),"r",stdin); freopen(("nowruz"+to_string(i)+".out"+".txt").c_str(),"w",stdout); solve(); } return 0; }

컴파일 시 표준 에러 (stderr) 메시지

vision.cpp: In function 'int main()':
vision.cpp:208:10: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
  208 |   freopen(("nowruz"+to_string(i)+".in.txt").c_str(),"r",stdin);
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vision.cpp:209:10: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
  209 |   freopen(("nowruz"+to_string(i)+".out"+".txt").c_str(),"w",stdout);
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/ccaCVceR.o: In function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'
/tmp/ccQsVxX5.o:vision.cpp:(.text.startup+0x0): first defined here
/tmp/ccaCVceR.o: In function `main':
grader.cpp:(.text.startup+0x1a0): undefined reference to `construct_network(int, int, int)'
collect2: error: ld returned 1 exit status