Submission #249780

# Submission time Handle Problem Language Result Execution time Memory
249780 2020-07-15T17:29:55 Z LittleFlowers__ Vision Program (IOI19_vision) C++17
0 / 100
18 ms 2044 KB
#include <bits/stdc++.h>
using namespace std;
#define in ({int x=0;int c=getchar(),n=0;for(;!isdigit(c);c=getchar()) n=(c=='-');for(;isdigit(c);c=getchar()) x=x*10+c-'0';n?-x:x;})
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
int rnd(int l,int r){return l+rng()%(r-l+1);}
#define fasty ios_base::sync_with_stdio(0),cin.tie(0);
#define forinc(a,b,c) for(int a=b,_c=c;a<=_c;++a)
#define fordec(a,b,c) for(int a=b,_c=c;a>=_c;--a)
#define forv(a,b) for(auto&a:b)
#define fi first
#define se second
#define pb push_back
#define ii pair<int,int>
#define mt make_tuple
#define all(a) a.begin(),a.end()
#define reset(f, x) memset(f, x, sizeof(f))
#define gg exit(0);

#ifndef UNX
#include "vision.h"
#endif

int D[]={-1,-1,1,1};
int C[]={-1,1,1,-1};

const int N=210;

int it;
int id[N][N];

#ifdef UNX
int is[N*N];
int add_and(vector<int> a){
    int ret=1;
    forv(i,a){
        ret&=is[i];
        //cout<<i<<" ";
    }
    //cout<<"\n";
    return ret;
}
int add_or(vector<int> a){
    int ret=0;
    forv(i,a){
        ret|=is[i];
        //cout<<i<<" ";
    }
    //cout<<"\n";
    return ret;
}
int add_not(int x){
    return !is[x];
}
#endif

void construct_network(int m, int n, int w){
    forinc(i,1,m) forinc(j,1,n) id[i][j]=it++;
    vector<ii> val;
    vector<int> fin, ask;
    int tot=0;
    int has=rnd(1,m*n/2);
    forinc(i,1,m){
        forinc(j,1,n){
            forinc(t,0,w){
                int k=w-t;
                forinc(l,0,3){
                    int x=i+t*D[l], y=j+k*C[l];
                    //if(x>i) continue;
                    if(1<=x&&x<=m&&1<=y&&y<=n){
                        ask.push_back(id[x][y]);
                        tot++;
                    }
                }
            }
            if(ask.size()){
                if(--has==0) continue;
                fin.push_back(add_and({add_or(ask),id[i][j]}));
                ask.clear();
            }
        }
    }
    //cerr<<tot<<"\n";
    add_or(fin);
}

#ifdef UNX
int m,n,w;
int dd[N][N];
main(){
    #define task "TASK"
    if(fopen(task".inp","r")){
        freopen(task".inp","r",stdin);
        //freopen(task".out","w",stdout);
    }
    m=100,n=100,w=80;
    construct_network(m,n,w);
}
#endif // UNX

# Verdict Execution time Memory Grader output
1 Correct 0 ms 256 KB Output is correct
2 Incorrect 0 ms 256 KB on inputs (0, 1), (0, 2), expected 0, but computed 1
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 256 KB Output is correct
2 Incorrect 0 ms 256 KB on inputs (0, 1), (0, 2), expected 0, but computed 1
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 256 KB Output is correct
2 Incorrect 0 ms 256 KB on inputs (0, 1), (0, 2), expected 0, but computed 1
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 256 KB Output is correct
2 Incorrect 0 ms 256 KB on inputs (0, 1), (0, 2), expected 0, but computed 1
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 384 KB on inputs (0, 0), (0, 74), expected 0, but computed 1
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 256 KB Output is correct
2 Correct 0 ms 256 KB Output is correct
3 Correct 9 ms 1020 KB Output is correct
4 Correct 18 ms 2044 KB Output is correct
5 Correct 13 ms 1532 KB Output is correct
6 Correct 8 ms 896 KB Output is correct
7 Correct 4 ms 384 KB Output is correct
8 Incorrect 2 ms 1148 KB WA in grader: Too many instructions
9 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 1276 KB WA in grader: Too many instructions
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 256 KB Output is correct
2 Incorrect 0 ms 256 KB on inputs (0, 1), (0, 2), expected 0, but computed 1
3 Halted 0 ms 0 KB -