Submission #102122

#TimeUsernameProblemLanguageResultExecution timeMemory
102122jwvg0425스파이 (JOI13_spy)C++17
100 / 100
373 ms36608 KiB
#include <stdio.h> #include <vector> #include <queue> #include <algorithm> #include <iostream> #include <string> #include <bitset> #include <map> #include <set> #include <tuple> #include <string.h> #include <math.h> #include <random> #include <functional> #include <assert.h> #include <math.h> #include <iterator> #include <chrono> #define all(x) (x).begin(), (x).end() #define xx first #define yy second using namespace std; using i64 = long long int; using ii = pair<int, int>; using ii64 = pair<i64, i64>; using vi = vector<long long int>; int iparent[2005]; int jparent[2005]; vector<int> ichild[2005]; vector<int> jchild[2005]; int counts[2005][2005]; int table[2005][2005]; int solve(int i, int j) { if (i == 0 || j == 0) return 0; if (table[i][j] != -1) return table[i][j]; int& ans = table[i][j]; ans = counts[i][j] + solve(iparent[i], j) + solve(i, jparent[j]) - solve(iparent[i], jparent[j]); return ans; } int main() { memset(table, -1, sizeof(table)); int n, m; scanf("%d %d", &n, &m); for (int i = 1; i <= n; i++) { int p, q; scanf("%d %d", &p, &q); jparent[i] = p; jchild[p].push_back(i); iparent[i] = q; ichild[q].push_back(i); } for (int i = 1; i <= m; i++) { int r, s; scanf("%d %d", &r, &s); counts[s][r]++; } for (int i = 1; i <= n; i++) printf("%d\n", solve(i, i)); return 0; }

Compilation message (stderr)

spy.cpp: In function 'int main()':
spy.cpp:56:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d %d", &n, &m);
  ~~~~~^~~~~~~~~~~~~~~~~
spy.cpp:61:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d %d", &p, &q);
   ~~~~~^~~~~~~~~~~~~~~~~
spy.cpp:73:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d %d", &r, &s);
   ~~~~~^~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...