답안 #288622

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
288622 2020-09-01T17:00:48 Z DanerZein Vision Program (IOI19_vision) C++14
0 / 100
12 ms 3584 KB
#include "vision.h"
#include <bits/stdc++.h>
#define MAX 1000000000
using namespace std;
typedef pair<int,int> ii;
typedef vector<int> vi;
void construct_network(int H, int W, int K) {
  map<ii,int> m;
  vector<int> res;
  int c=0;
  int id=0;
  for(int i=0;i<H;i++){
    for(int j=0;j<W;j++){
      m[ii(i,j)]=c;
      c++;
    }
  }
  // if((H<=30 and W<=30) or min(H,W)==1){
  if(id==3){
  for(int i=0;i<H;i++){
    for(int j=0;j<W;j++){
      vector<int> pos;
      //pos.push_back(m[ii(i,j)]);
      int x=j+K;
      int y=i;
      while(true){
	if(x<j) break;
	if(x<W and y<H){
	  pos.push_back(m[ii(y,x)]);
	}
	x--;
	y++;
      }
      //id=add_xor(pos);
      if(!pos.empty()){
	id=add_or(pos);
	pos.clear();
	pos.push_back(m[ii(i,j)]);
	id=add_or(pos);
      }
      x=j-K;
      y=i;
      pos.clear();
      // pos.push_back(m[ii(i,j)]);
      while(true){
	if(x>=j) break;
	if(x>=0 and y<H){
	  pos.push_back(m[ii(y,x)]);
	}
	x++;
	y++;
      }
      //id=add_xor(pos);
      if(!pos.empty()){
	id=add_or(pos);
	pos.clear();
	pos.push_back(m[ii(i,j)]);
	id=add_or(pos);
      }
    }
  }
  int mi=MAX,t=id;
  //cout<<mi<<" "<<ma<<endl;
  for(int i=(H*W);i<=t;i+=2){
    vector<int> pos;
    pos.push_back(i);
    pos.push_back(i+1);
    id=add_and(pos);
    mi=min(mi,id);
  }
  vector<int> pos;
  for(int i=mi;i<=id;i++){
    pos.push_back(i);
  }
  if(!pos.empty())
  int id=add_or(pos);
  }
  else{
    int mi=MAX;
    vector<int> pos;
    pos.push_back(0);
    for(int i=0;i<H;i++){
      for(int j=0;j<W;j++){
	if(i==0 and j==0){ continue;}
	pos.push_back(m[ii(i,j)]);
	id=add_and(pos);
	pos.pop_back();
	mi=min(mi,id);
      }
    }
    //cout<<mi<<" "<<id<<endl;
    for(int i=mi;i<=id;i++){
      res.push_back(i);
    }
    
    id=add_or(res);
  }
}

Compilation message

vision.cpp: In function 'void construct_network(int, int, int)':
vision.cpp:76:7: warning: unused variable 'id' [-Wunused-variable]
   76 |   int id=add_or(pos);
      |       ^~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 256 KB on inputs (0, 0), (0, 2), expected 0, but computed 1
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 256 KB on inputs (0, 0), (0, 2), expected 0, but computed 1
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 256 KB on inputs (0, 0), (0, 2), expected 0, but computed 1
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 256 KB on inputs (0, 0), (0, 2), expected 0, but computed 1
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 384 KB on inputs (0, 0), (0, 2), expected 0, but computed 1
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 256 KB on inputs (0, 0), (1, 1), expected 0, but computed 1
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 12 ms 3584 KB WA in grader: Too many instructions
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 256 KB on inputs (0, 0), (0, 2), expected 0, but computed 1
2 Halted 0 ms 0 KB -