392021-01-08 20:26:20mraron2015. szeptembercpp11Hibás válasz a 29. teszten680ms9728 KiB
#include<bits/stdc++.h>
#include<cstdlib>

using namespace std;

typedef long long ll;
typedef unsigned long long ul;
typedef long double ld;

#define all(s) (s).begin(),(s).end()
#define pb push_back
#define IO ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0)
#define INF std::numeric_limits<int>::max()
#define tmax(a,b,c) max((a),max((b),(c)))
#define tmin(a,b,c) min((a),min((b),(c)))
#define vpii vector<pair<int,int>>
#define vpll vector<pair<ll,ll>>
#define mp make_pair

#ifndef ONLINE_JUDGE
#  define LOG(x) (cerr << #x << " = " << (x) << endl)
#else
#  define LOG(x) ((void)0)
#endif

int d1[4][2]={{1,0},{0,1},{0,-1},{-1,0}};
int d2[8][2]={{1,0},{0,1},{0,-1},{-1,0},{1,1},{-1,1},{1,-1},{-1,-1}};


int main()
{
	IO;
	int n,m;cin>>n>>m;
	int k;cin>>k;
	vector<pair<pair<int,int>,int>> pp;
	for(int i=0;i<k;++i)
	{
		int a,b,c;cin>>a>>b>>c;pp.pb(mp(mp(a,b),c));
	}
		
	auto valid=[pp,n,m](int x, int y) -> bool {
		bool add=true;
		if(x>=0 && y>=0 && x<n && y<m)
		{
			for(auto ii:pp)
			{
				if(!add) break;
				if((x-ii.first.first)*(x-ii.first.first)+(y-ii.first.second)*(y-ii.first.second)<=(ii.second)*(ii.second)) add=false;
			}
		}else {
			add = false;
		}
		return add;
	};
	
	int t[n][m];
	for(int i=0;i<n;++i)
	{
		for(int j=0;j<m;++j) 
		{
			t[i][j]=0;
		}
	}
	
	queue<pair<int,int>> q;
	for(int i=0;i<m;++i) {if(valid(0,i)){q.push(mp(0,i));}}
	
	bool found= false;
	while(!q.empty() && !found)
	{
		auto tt = q.front();
		q.pop();
		int i=tt.first,j=tt.second;
		
		if(t[i][j]) continue;
		t[i][j]=1;
		//if(i==n-1) {found=true;break;}
		for(int kk=0;kk<4;++kk)
		{
			int x=i+d1[kk][0], y=j+d1[kk][1];
			if(valid(x,y)&&!t[x][y]) {q.push(mp(x,y));}
		}
	}
	for(int i=0;i<m;++i) {if(t[n-1][i]) {found=true;}}

	#ifdef NICE
		for(int i=0;i<n;++i)
		{
			for(int j=0;j<m;++j) 
			{
				if(!t[i][j])cout<<"\e[31;1m";
				if(t[i][j])cout<<"\e[33;1m";
				cout<<t[i][j]<<" \n"[j==m-1];
				cout<<"\e[0m";
			}
		}
	#endif

	cout<<(found?"Vezet":"Nem vezet")<<"\n";
	return 0;
}
1 - Elfogadva
Memória: 1760KiB
Idő: 2ms

Program kimenete:
Vezet
Elvárt kimenet:
Vezet
Ellenőrző kimenete:
ok "Vezet"

2 - Elfogadva
Memória: 1828KiB
Idő: 1ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenete:
ok 2 tokens

3 - Elfogadva
Memória: 9724KiB
Idő: 228ms

Program kimenete:
Vezet
Elvárt kimenet:
Vezet
Ellenőrző kimenete:
ok "Vezet"

4 - Elfogadva
Memória: 9728KiB
Idő: 680ms

Program kimenete:
Vezet
Elvárt kimenet:
Vezet
Ellenőrző kimenete:
ok "Vezet"

5 - Elfogadva
Memória: 9628KiB
Idő: 12ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenete:
ok 2 tokens

6 - Elfogadva
Memória: 7720KiB
Idő: 4ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenete:
ok 2 tokens

7 - Elfogadva
Memória: 5004KiB
Idő: 3ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenete:
ok 2 tokens

8 - Elfogadva
Memória: 9268KiB
Idő: 4ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenete:
ok 2 tokens

9 - Elfogadva
Memória: 2204KiB
Idő: 1ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenete:
ok 2 tokens

10 - Elfogadva
Memória: 3636KiB
Idő: 2ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenete:
ok 2 tokens

11 - Elfogadva
Memória: 7392KiB
Idő: 20ms

Program kimenete:
Vezet
Elvárt kimenet:
Vezet
Ellenőrző kimenete:
ok "Vezet"

12 - Elfogadva
Memória: 2092KiB
Idő: 2ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenete:
ok 2 tokens

13 - Elfogadva
Memória: 2860KiB
Idő: 2ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenete:
ok 2 tokens

14 - Elfogadva
Memória: 2904KiB
Idő: 2ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenete:
ok 2 tokens

15 - Elfogadva
Memória: 3484KiB
Idő: 2ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenete:
ok 2 tokens

16 - Elfogadva
Memória: 2456KiB
Idő: 1ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenete:
ok 2 tokens

17 - Elfogadva
Memória: 1920KiB
Idő: 4ms

Program kimenete:
Vezet
Elvárt kimenet:
Vezet
Ellenőrző kimenete:
ok "Vezet"

18 - Elfogadva
Memória: 2468KiB
Idő: 1ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenete:
ok 2 tokens

19 - Elfogadva
Memória: 4400KiB
Idő: 2ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenete:
ok 2 tokens

20 - Elfogadva
Memória: 2720KiB
Idő: 1ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenete:
ok 2 tokens

21 - Elfogadva
Memória: 2904KiB
Idő: 1ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenete:
ok 2 tokens

22 - Elfogadva
Memória: 9596KiB
Idő: 4ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenete:
ok 2 tokens

23 - Elfogadva
Memória: 9600KiB
Idő: 4ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenete:
ok 2 tokens

24 - Elfogadva
Memória: 9600KiB
Idő: 4ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenete:
ok 2 tokens

25 - Elfogadva
Memória: 9600KiB
Idő: 4ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenete:
ok 2 tokens

26 - Elfogadva
Memória: 9596KiB
Idő: 4ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenete:
ok 2 tokens

27 - Elfogadva
Memória: 9600KiB
Idő: 4ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenete:
ok 2 tokens

28 - Elfogadva
Memória: 9600KiB
Idő: 4ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Nem vezet
Ellenőrző kimenete:
ok 2 tokens

29 - Hibás válasz
Memória: 1856KiB
Idő: 2ms

Program kimenete:
Nem vezet
Elvárt kimenet:
Vezet
Ellenőrző kimenete:
wrong answer 1st words differ - expected: 'Vezet', found: 'Nem'