답안 #1071218

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1071218 2024-08-23T06:01:27 Z LittleOrange Vision Program (IOI19_vision) C++17
컴파일 오류
0 ms 0 KB
#include "vision.h"
#include<bits/stdc++.h>
using namespace std;
using ll = int;
const ll big = 1e9;
ll any(const vector<ll> &v){
	return v.size()==1?v[0]:add_or(v);
}
void construct_network(int H, int W, int K) {
	ll h = H;
	ll w = W;
	ll k = K;
	vector<ll> segs1,segs2;
	for(ll i = 0;i<h+w-1;i++){
		vector<ll> v;
		for(ll x = 0;x<h;x++){
			ll y = i-x;
			if (y>=0&&y<w) v.push_back(x*w+y);
		}
		//cerr << "seg1:";for(ll i : v) cerr << " " << i; cerr << "\n";
		segs1.push_back(any(v));
	}
	for(ll i = 0;i<h+w-1;i++){
		vector<ll> v;
		for(ll x = 0;x<h;x++){
			ll y = i+x-h+1;
			if (y>=0&&y<w) v.push_back(x*w+y);
		}
		//cerr << "seg2:";for(ll i : v) cerr << " " << i; cerr << "\n";
		segs2.push_back(any(v));
	}
	vector<ll> gp1,gp2;
	for(ll i = 0;i<h+w-k-1;i++){
		gp1.push_back(add_and({segs1[i],segs1[i+k]}));
	}
	for(ll i = 0;i<h+w-k-1;i++){
		gp2.push_back(add_and({segs2[i],segs2[i+k]}));
	}
	ll res1 = any(gp1);
	ll res2 = any(gp2);
	add_and({res1,res2});
	/*std::vector<int> Ns;
	Ns = {0, 1};
	int a = add_and(Ns);
	Ns = {0, a};
	int b = add_or(Ns);
	Ns = {0, 1, b};
	int c = add_xor(Ns);
	add_not(c);*/
	/*vector<vector<ll>> asks(H*W);
	for(ll x1 = 0;x1<h;x1++){
		for(ll y1 = 0;y1<w;y1++){
			for(ll x2 = 0;x2<h;x2++){
				for(ll y2 = 0;y2<w;y2++){
					ll i1 = x1*w+y1;
					ll i2 = x2*w+y2;
					if (i1>=i2) continue;
					if (abs(x1-x2)+abs(y1-y2)!=k) continue;
					asks[i1].push_back(i2);
				}
			}
		}
	}
	vector<ll> outs;
	for(ll i = 0;i<h*w;i++){
		if (asks[i].empty()) continue;
		ll x = add_or(asks[i]);
		//cerr << "add_or:"; for(ll j : asks[i]) cerr << " " << j;cerr << " -> " << x << "\n";
		//cerr << "add_and: " << i << " " << x << "\n";
		outs.push_back(add_and({i,x}));
	}
	add_or(outs);*/
}

Compilation message

vision.cpp: In function 'void construct_network(int, int, int)':
vision.cpp:21:19: error: reference to 'any' is ambiguous
   21 |   segs1.push_back(any(v));
      |                   ^~~
In file included from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:126,
                 from vision.cpp:2:
/usr/include/c++/10/any:77:9: note: candidates are: 'class std::any'
   77 |   class any
      |         ^~~
vision.cpp:6:4: note:                 'll any(const std::vector<int>&)'
    6 | ll any(const vector<ll> &v){
      |    ^~~
vision.cpp:30:19: error: reference to 'any' is ambiguous
   30 |   segs2.push_back(any(v));
      |                   ^~~
In file included from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:126,
                 from vision.cpp:2:
/usr/include/c++/10/any:77:9: note: candidates are: 'class std::any'
   77 |   class any
      |         ^~~
vision.cpp:6:4: note:                 'll any(const std::vector<int>&)'
    6 | ll any(const vector<ll> &v){
      |    ^~~
vision.cpp:39:12: error: reference to 'any' is ambiguous
   39 |  ll res1 = any(gp1);
      |            ^~~
In file included from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:126,
                 from vision.cpp:2:
/usr/include/c++/10/any:77:9: note: candidates are: 'class std::any'
   77 |   class any
      |         ^~~
vision.cpp:6:4: note:                 'll any(const std::vector<int>&)'
    6 | ll any(const vector<ll> &v){
      |    ^~~
vision.cpp:40:12: error: reference to 'any' is ambiguous
   40 |  ll res2 = any(gp2);
      |            ^~~
In file included from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:126,
                 from vision.cpp:2:
/usr/include/c++/10/any:77:9: note: candidates are: 'class std::any'
   77 |   class any
      |         ^~~
vision.cpp:6:4: note:                 'll any(const std::vector<int>&)'
    6 | ll any(const vector<ll> &v){
      |    ^~~