답안 #581111

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
581111 2022-06-22T09:18:10 Z Koosha_mv 장난감 기차 (IOI17_train) C++14
11 / 100
535 ms 1432 KB
#include <bits/stdc++.h>
using namespace std;
#define dbgv(v) cout<<#v<<" = "; f(i,0,v.size()) cout<<v[i]<<" "; cout<<endl
#define dbga(a,x,y) cout<<#a<<" = "; f(i,x,y) cout<<a[i]<<" "; cout<<endl
#define erorp(x) cout<<#x<<"={"<<x.F<<" , "<<x.S<<"}"<<endl
#define eror(x) cout<<#x<<'='<<(x)<<endl
#define f_(i,a,b) for(int i=a;i>=b;i--)
#define f(i,a,b) for(int i=a;i<b;i++)
#define nb(x) __builtin_popcount(x)
#define all(v) v.begin(),v.end()
#define bit(n,k) (((n)>>(k))&1)
#define Add(x,y) x=(x+y)%mod
#define maxm(a,b) a=max(a,b)
#define minm(a,b) a=min(a,b)
#define lst(x) x[x.size()-1]
#define sz(x) int(x.size())
#define mp make_pair
#define ll long long
#define pb push_back
#define S second
#define F first
#include "train.h"

const int N=5050;

int n,A[N],B[N],dp[N],vis[N];
vector<int> g[N];

bool dfs(int u,int rt){
	vis[u]=1;
	for(auto v : g[u]){
		if(v==rt) return 1;
		if(vis[v]) continue ;
		if(dfs(v,rt)) return 1;
	}
	return 0;
}
bool check(int u){
	fill(vis,vis+N,0);
	return dfs(u,u);
}
vector<int> who_wins(vector<int> a,vector<int> r,vector<int> u,vector<int> v){
	n=a.size();
	f(i,0,u.size()) g[u[i]].pb(v[i]);
	f(i,0,n) dp[i]=(r[i] && check(i));
	f(t,0,n) f(u,0,n) for(auto v : g[u]) dp[u]|=dp[v];
	vector<int> ans(n);
	f(i,0,n) ans[i]=dp[i];
	return ans;
}
/*
int32_t main(){
	ios:: sync_with_stdio(0), cin.tie(0), cout.tie(0);
	who_wins({1,1},{1,0},{0,0,1,1},{0,1,0,1});
}*/

Compilation message

train.cpp: In function 'std::vector<int> who_wins(std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)':
train.cpp:8:31: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    8 | #define f(i,a,b) for(int i=a;i<b;i++)
......
   44 |  f(i,0,u.size()) g[u[i]].pb(v[i]);
      |    ~~~~~~~~~~~~                
train.cpp:44:2: note: in expansion of macro 'f'
   44 |  f(i,0,u.size()) g[u[i]].pb(v[i]);
      |  ^
# 결과 실행 시간 메모리 Grader output
1 Incorrect 144 ms 1008 KB 3rd lines differ - on the 1st token, expected: '0', found: '1'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 340 KB 3rd lines differ - on the 8th token, expected: '0', found: '1'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 154 ms 1112 KB Output is correct
2 Correct 174 ms 1108 KB Output is correct
3 Correct 178 ms 1208 KB Output is correct
4 Correct 354 ms 1180 KB Output is correct
5 Correct 242 ms 1352 KB Output is correct
6 Correct 278 ms 1276 KB Output is correct
7 Correct 421 ms 1236 KB Output is correct
8 Correct 246 ms 1260 KB Output is correct
9 Correct 202 ms 1236 KB Output is correct
10 Correct 262 ms 1228 KB Output is correct
11 Correct 215 ms 1192 KB Output is correct
12 Correct 227 ms 1172 KB Output is correct
13 Correct 254 ms 1368 KB Output is correct
14 Correct 223 ms 1396 KB Output is correct
15 Correct 236 ms 1432 KB Output is correct
16 Correct 236 ms 1276 KB Output is correct
17 Correct 239 ms 1300 KB Output is correct
18 Correct 188 ms 1124 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 535 ms 1028 KB 3rd lines differ - on the 696th token, expected: '0', found: '1'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 235 ms 1060 KB 3rd lines differ - on the 2nd token, expected: '0', found: '1'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 144 ms 1008 KB 3rd lines differ - on the 1st token, expected: '0', found: '1'
2 Halted 0 ms 0 KB -