Submission #880767

#TimeUsernameProblemLanguageResultExecution timeMemory
880767WeIlIaN스파이 (JOI13_spy)C++14
0 / 100
189 ms20784 KiB
#include <iostream> #include <algorithm> #include <vector> #include <cstring> #include <map> #include <unordered_map> #include <set> #include <queue> #include <stack> #include <cmath> #include <climits> #include <iomanip> using namespace std; #define MOD 1000000007 #define fir first #define sec second #define mp make_pair #define pushf push_front #define pushb push_back #define popf pop_front #define popb pop_back #define all(a) a.begin(), a.end() #define FOR(i, s, e) for(int i = s; i < e; i++) #define RFOR(i, s, e) for(int i = e-1; i >= s; i--) #define REP(i, n) FOR(i, 0, n) #define RREP(i, n) RFOR(i, 0, n) #pragma GCC optimize(" unroll-loops") #pragma gcc optimize("Ofast") #pragma GCC optimization("Ofast") typedef long long ll; typedef pair<int, int> pii; typedef vector<int> vi; typedef pair<ll, ll> pll; typedef vector<ll> vll; typedef vector<bool> vb; typedef vector<char> vc; typedef vector<string> vs; typedef vector<pii> vpii; typedef vector<pll> vpll; typedef vector<vi> vvi; typedef vector<vll> vvll; typedef vector<vb> vvb; typedef vector<vc> vvc; typedef vector<vpii> vvpii; typedef vector<vpll> vvpll; typedef queue<int> qi; typedef queue<ll> qll; typedef queue<pii> qpii; typedef queue<pll> qpll; typedef deque<int> dqi; typedef deque<ll> dqll; typedef deque<pii> dqpii; typedef deque<pll> dqpll; typedef priority_queue<int> pqi; typedef priority_queue<ll> pqll; typedef priority_queue<pii> pqpii; typedef priority_queue<pll> pqpll; typedef priority_queue<int, vi, greater<int> > r_pqi; typedef priority_queue<ll, vll, greater<ll> > r_pqll; typedef priority_queue<pii, vpii, greater<pii> > r_pqpii; typedef priority_queue<pll, vpll, greater<pll> > r_pqpll; vi child[2][2003]; int n, m, a, r, s, root[2], f[2003][2003]; void dfs1(int u) { for(auto v : child[0][u]) { for(int i = 0; i < n; i++) { f[v][i] += f[u][i]; } dfs1(v); } } void dfs2(int u) { for(auto v : child[1][u]) { for(int i = 0; i < n; i++) { f[i][v] += f[i][u]; } dfs2(v); } } int main() { cin>>n>>m; REP(i, n) { REP(j, 2) { cin>>a; if(a == 0) { root[j] = i; } else { child[j][a-1].push_back(i); } } } REP(i, m) { cin>>r>>s; f[r-1][s-1]++; } dfs1(root[0]); dfs1(root[1]); REP(i, n) { cout<<f[i][i]<<endl; } return 0; }

Compilation message (stderr)

spy.cpp:31: warning: ignoring '#pragma gcc optimize' [-Wunknown-pragmas]
   31 | #pragma gcc optimize("Ofast")
      | 
spy.cpp:32: warning: ignoring '#pragma GCC optimization' [-Wunknown-pragmas]
   32 | #pragma GCC optimization("Ofast")
      | 
spy.cpp:30:37: warning: bad option '-f unroll-loops' to pragma 'optimize' [-Wpragmas]
   30 | #pragma GCC optimize(" unroll-loops")
      |                                     ^
spy.cpp:70:16: warning: bad option '-f unroll-loops' to attribute 'optimize' [-Wattributes]
   70 | void dfs1(int u) {
      |                ^
spy.cpp:79:16: warning: bad option '-f unroll-loops' to attribute 'optimize' [-Wattributes]
   79 | void dfs2(int u) {
      |                ^
spy.cpp:88:10: warning: bad option '-f unroll-loops' to attribute 'optimize' [-Wattributes]
   88 | int main() {
      |          ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...