Submission #230424


Source Code Expand

#include<cstdio>
#include<cstring>
#include<map>
#include<vector>
#include<algorithm>
using namespace std;

int x, y;
//int memo[100010];
int dp[100010];
map<pair<int, int>, int> memo;
bool used[100010];
vector<int> v[100010];

int dist(int p, int cnt)
{
  if(dp[p]) return dp[p];
  if(dp[p]) return dp[p];
  if(p == y) return 0;
  if(used[p]) return 999999;
  
  int ret = 999999; used[p] = true;
  for(int i = 0;i < v[p].size(); i++)
    ret = min(ret, dist(v[p][i], cnt + 1) + 1);

  memo[make_pair(x, p)] = memo[make_pair(p, x)] = cnt;
  return dp[p] = ret;
}

int main(void)
{
  int n, q, a, b;

  scanf("%d", &n);
  for(int i = 0;i < n - 1; i++){
    scanf("%d %d", &x, &y);
    v[x].push_back(y);
    v[y].push_back(x);
  }
  scanf("%d", &q);
  for(int i = 0;i < q; i++){
    scanf("%d %d", &x, &y);
 
    memset(used, false, sizeof(used));
    memset(dp, 0, sizeof(dp));
    if(memo[make_pair(x, y)])
      printf("%d\n", memo[make_pair(x, y)]);
    else
      printf("%d\n", dist(x, 1) + 1);
  }

}

Submission Info

Submission Time
Task D - 閉路
User uoo38
Language C++ (G++ 4.6.4)
Score 30
Code Size 1060 Byte
Status TLE
Exec Time 2044 ms
Memory 114856 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:34:18: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
./Main.cpp:36:27: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
./Main.cpp:40:18: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
./Main.cpp:42:27: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]

Judge Result

Set Name Sample Subtask1 Subtask2
Score / Max Score 0 / 0 30 / 30 0 / 70
Status
AC × 3
AC × 12
AC × 15
TLE × 12
Set Name Test Cases
Sample subtask0_sample01.txt, subtask0_sample02.txt, subtask0_sample03.txt
Subtask1 subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt
Subtask2 subtask0_sample01.txt, subtask0_sample02.txt, subtask0_sample03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt
Case Name Status Exec Time Memory
subtask0_sample01.txt AC 30 ms 3612 KB
subtask0_sample02.txt AC 28 ms 3556 KB
subtask0_sample03.txt AC 28 ms 3616 KB
subtask1_01.txt AC 242 ms 30084 KB
subtask1_02.txt AC 214 ms 27560 KB
subtask1_03.txt AC 28 ms 3748 KB
subtask1_04.txt AC 28 ms 3620 KB
subtask1_05.txt AC 29 ms 3736 KB
subtask1_06.txt AC 30 ms 3864 KB
subtask1_07.txt AC 282 ms 19368 KB
subtask1_08.txt AC 276 ms 19232 KB
subtask1_09.txt AC 302 ms 19236 KB
subtask1_10.txt AC 299 ms 19236 KB
subtask1_11.txt AC 287 ms 19232 KB
subtask1_12.txt AC 312 ms 19284 KB
subtask2_01.txt TLE 2035 ms 30244 KB
subtask2_02.txt TLE 2035 ms 30252 KB
subtask2_03.txt TLE 2031 ms 3736 KB
subtask2_04.txt TLE 2031 ms 4192 KB
subtask2_05.txt TLE 2039 ms 65556 KB
subtask2_06.txt TLE 2039 ms 64932 KB
subtask2_07.txt TLE 2042 ms 114856 KB
subtask2_08.txt TLE 2042 ms 102208 KB
subtask2_09.txt TLE 2042 ms 102820 KB
subtask2_10.txt TLE 2039 ms 95656 KB
subtask2_11.txt TLE 2044 ms 113064 KB
subtask2_12.txt TLE 2044 ms 113064 KB