제출 #502501

#제출 시각아이디문제언어결과실행 시간메모리
502501KhizriVision Program (IOI19_vision)C++17
33 / 100
1 ms332 KiB
#include "vision.h"
#include <bits/stdc++.h>
using namespace std;
int say;
int dis(int r1,int c1,int r2,int c2){
    return abs(r1-r2)+abs(c1-c2);
}
void check(int x,int y,int n,int m,int k){
    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            if(dis(x,y,i,j)==k){
                add_and({x*m+y,i*m+j});
                say++;
            }
        }
    }
}
void task(int n,int m,int k){
    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            if(dis(0,0,i,j)==k){
                add_not(i*m+j);
                say++;
            }
        }
    }
    vector<int>res;
    for(int i=n*m;i<=say;i++){
        res.push_back(i);
    }
    add_or(res);
}
void construct_network(int n, int m, int k) {
    say=n*m-1;
    if(max(n,m)<=10||min(n,m)==1){

    }
    else{
        task(n,m,k);
        return;
    }
	for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            check(i,j,n,m,k);
        }
	}
	vector<int>res;
	for(int i=n*m;i<=say;i++){
        res.push_back(i);
	}
	add_or(res);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...