提出 #8537365
ソースコード 拡げる
#include<bits/stdc++.h>
#define fo(i, x, y) for(int i = x, B = y; i <= B; i ++)
#define ff(i, x, y) for(int i = x, B = y; i < B; i ++)
#define fd(i, x, y) for(int i = x, B = y; i >= B; i --)
#define ll long long
#define pp printf
#define hh pp("\n")
using namespace std;
const int N = 1e5 + 5;
int n, x, y;
int fi[N], to[N * 2], nt[N * 2], tot = 1;
void link(int x, int y) {
nt[++ tot] = fi[x], to[tot] = y, fi[x] = tot;
}
char str[N]; int cr[N];
int d[N], d0, r[N], ky[N];
void Init() {
scanf("%d", &n);
fo(i, 1, n - 1) {
scanf("%d %d", &x, &y);
r[x] ++, r[y] ++;
link(x, y); link(y, x);
}
scanf("%s", str + 1);
fo(i, 1, n) cr[i] = str[i] == 'B' ? 1 : 0;
}
void build() {
fo(i, 1, n) ky[i] = 1;
fo(i, 1, n) if(r[i] == 1 && cr[i] == 1)
d[++ d0] = i;
for(int i = 1; i <= d0; i ++) {
int x = d[i]; ky[x] = 0;
for(int j = fi[x]; j; j = nt[j]) {
int y = to[j];
if(-- r[y] == 1 && cr[y] == 1) d[++ d0] = y;
}
}
}
int rt, fa[N], c[N];
int sum, ans;
int s[N], f[N], g[N];
void dg(int x) {
c[x] = !((r[x] & 1) ^ cr[x]);
d[x] = (c[x] ? 1 : -1) + 1;
s[x] = s[fa[x]] + d[x];
sum += c[x];
f[x] = s[x], g[x] = s[x] - d[x];
for(int i = fi[x]; i; i = nt[i]) if(to[i] != fa[x] && ky[to[i]]) {
int y = to[i];
fa[y] = x;
dg(y);
ans = max(ans, max(f[x] + g[y], g[x] + f[y]) - 2 * s[x] + d[x]);
f[x] = max(f[x], f[y]);
g[x] = max(g[x], g[y]);
}
}
void work() {
sum = -2;
fo(i, 1, n) if(ky[i])
rt = i, sum += 2;
if(!rt) {
pp("0\n");
exit(0);
}
dg(rt);
}
int main() {
Init();
build();
work();
pp("%d\n", sum - ans);
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | F - Monochrome Cat |
| ユーザ | cold_chair |
| 言語 | C++14 (GCC 5.4.1) |
| 得点 | 800 |
| コード長 | 1652 Byte |
| 結果 | AC |
| 実行時間 | 37 ms |
| メモリ | 10240 KiB |
コンパイルエラー
./Main.cpp: In function ‘void Init()’:
./Main.cpp:24:17: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d", &n);
^
./Main.cpp:26:25: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d %d", &x, &y);
^
./Main.cpp:30:22: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%s", str + 1);
^
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 800 / 800 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | 0_000.txt, 0_001.txt, 0_002.txt, 0_003.txt |
| All | 0_000.txt, 0_001.txt, 0_002.txt, 0_003.txt, 1_003.txt, 1_004.txt, 1_005.txt, 1_006.txt, 1_007.txt, 1_008.txt, 1_009.txt, 1_010.txt, 1_011.txt, 1_012.txt, 1_013.txt, 1_014.txt, 1_015.txt, 1_016.txt, 1_017.txt, 1_018.txt, 1_019.txt, 1_020.txt, 1_021.txt, 1_022.txt, 1_023.txt, 1_024.txt, 1_025.txt, 1_026.txt, 1_027.txt, 1_028.txt, 1_029.txt, 1_030.txt, 1_031.txt, 1_032.txt, 1_033.txt, 1_034.txt, 1_035.txt, 1_036.txt, 1_037.txt, 1_038.txt, 1_039.txt, 1_040.txt, 1_041.txt, 1_042.txt, 1_043.txt, 1_044.txt, 1_045.txt, 1_046.txt, 1_047.txt, 1_048.txt, 1_049.txt, 1_050.txt, 1_051.txt, 1_052.txt, 1_053.txt, 1_054.txt, 1_055.txt, 1_056.txt, 1_057.txt, 1_058.txt, 1_059.txt, 1_060.txt, 1_061.txt, 1_062.txt, 1_063.txt, 1_064.txt, 1_065.txt, 1_066.txt, 1_067.txt, 1_068.txt, 1_069.txt, 1_070.txt, 1_071.txt, 1_072.txt, 1_073.txt, 1_074.txt, 1_075.txt, 1_076.txt, 1_077.txt, 1_078.txt, 1_079.txt, 1_080.txt, 1_081.txt, 1_082.txt, 1_083.txt, 1_084.txt, 1_085.txt, 1_086.txt, 1_087.txt, 1_088.txt, 1_089.txt, 1_090.txt, 1_091.txt, 1_092.txt, 1_093.txt, 1_094.txt, 1_095.txt, 1_096.txt, 1_097.txt, 1_098.txt, 1_099.txt, 1_100.txt, 1_101.txt, 1_102.txt, 1_103.txt, 1_104.txt, 1_105.txt, 1_106.txt, 1_107.txt, 1_108.txt, 1_109.txt, 1_110.txt, 1_111.txt, 1_112.txt, 1_113.txt, 1_114.txt, 1_115.txt, 1_116.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 0_000.txt | AC | 2 ms | 2304 KiB |
| 0_001.txt | AC | 2 ms | 2304 KiB |
| 0_002.txt | AC | 2 ms | 2304 KiB |
| 0_003.txt | AC | 2 ms | 2304 KiB |
| 1_003.txt | AC | 2 ms | 2304 KiB |
| 1_004.txt | AC | 2 ms | 2304 KiB |
| 1_005.txt | AC | 2 ms | 2304 KiB |
| 1_006.txt | AC | 2 ms | 2304 KiB |
| 1_007.txt | AC | 2 ms | 2304 KiB |
| 1_008.txt | AC | 2 ms | 2304 KiB |
| 1_009.txt | AC | 2 ms | 2304 KiB |
| 1_010.txt | AC | 2 ms | 2304 KiB |
| 1_011.txt | AC | 2 ms | 2304 KiB |
| 1_012.txt | AC | 2 ms | 2304 KiB |
| 1_013.txt | AC | 2 ms | 2304 KiB |
| 1_014.txt | AC | 2 ms | 2304 KiB |
| 1_015.txt | AC | 2 ms | 2304 KiB |
| 1_016.txt | AC | 2 ms | 2304 KiB |
| 1_017.txt | AC | 2 ms | 2304 KiB |
| 1_018.txt | AC | 2 ms | 2304 KiB |
| 1_019.txt | AC | 2 ms | 2304 KiB |
| 1_020.txt | AC | 2 ms | 2304 KiB |
| 1_021.txt | AC | 2 ms | 2304 KiB |
| 1_022.txt | AC | 2 ms | 2304 KiB |
| 1_023.txt | AC | 2 ms | 2304 KiB |
| 1_024.txt | AC | 2 ms | 2304 KiB |
| 1_025.txt | AC | 2 ms | 2304 KiB |
| 1_026.txt | AC | 2 ms | 2304 KiB |
| 1_027.txt | AC | 2 ms | 2304 KiB |
| 1_028.txt | AC | 2 ms | 2304 KiB |
| 1_029.txt | AC | 2 ms | 2304 KiB |
| 1_030.txt | AC | 2 ms | 2304 KiB |
| 1_031.txt | AC | 2 ms | 2304 KiB |
| 1_032.txt | AC | 2 ms | 2304 KiB |
| 1_033.txt | AC | 2 ms | 2304 KiB |
| 1_034.txt | AC | 2 ms | 2304 KiB |
| 1_035.txt | AC | 2 ms | 2304 KiB |
| 1_036.txt | AC | 2 ms | 2304 KiB |
| 1_037.txt | AC | 2 ms | 2304 KiB |
| 1_038.txt | AC | 2 ms | 2304 KiB |
| 1_039.txt | AC | 2 ms | 2304 KiB |
| 1_040.txt | AC | 2 ms | 2304 KiB |
| 1_041.txt | AC | 2 ms | 2304 KiB |
| 1_042.txt | AC | 2 ms | 2304 KiB |
| 1_043.txt | AC | 2 ms | 2304 KiB |
| 1_044.txt | AC | 2 ms | 2304 KiB |
| 1_045.txt | AC | 11 ms | 4352 KiB |
| 1_046.txt | AC | 13 ms | 4864 KiB |
| 1_047.txt | AC | 22 ms | 3840 KiB |
| 1_048.txt | AC | 18 ms | 3456 KiB |
| 1_049.txt | AC | 22 ms | 6784 KiB |
| 1_050.txt | AC | 20 ms | 6400 KiB |
| 1_051.txt | AC | 18 ms | 4864 KiB |
| 1_052.txt | AC | 5 ms | 2944 KiB |
| 1_053.txt | AC | 18 ms | 3584 KiB |
| 1_054.txt | AC | 8 ms | 2816 KiB |
| 1_055.txt | AC | 18 ms | 4864 KiB |
| 1_056.txt | AC | 10 ms | 2944 KiB |
| 1_057.txt | AC | 2 ms | 2432 KiB |
| 1_058.txt | AC | 15 ms | 4864 KiB |
| 1_059.txt | AC | 9 ms | 2816 KiB |
| 1_060.txt | AC | 18 ms | 3456 KiB |
| 1_061.txt | AC | 25 ms | 7040 KiB |
| 1_062.txt | AC | 13 ms | 4736 KiB |
| 1_063.txt | AC | 16 ms | 4224 KiB |
| 1_064.txt | AC | 12 ms | 3712 KiB |
| 1_065.txt | AC | 3 ms | 2432 KiB |
| 1_066.txt | AC | 18 ms | 3456 KiB |
| 1_067.txt | AC | 6 ms | 2944 KiB |
| 1_068.txt | AC | 13 ms | 3968 KiB |
| 1_069.txt | AC | 8 ms | 3200 KiB |
| 1_070.txt | AC | 13 ms | 3840 KiB |
| 1_071.txt | AC | 20 ms | 3584 KiB |
| 1_072.txt | AC | 13 ms | 3072 KiB |
| 1_073.txt | AC | 4 ms | 2688 KiB |
| 1_074.txt | AC | 3 ms | 2560 KiB |
| 1_075.txt | AC | 12 ms | 3712 KiB |
| 1_076.txt | AC | 28 ms | 5760 KiB |
| 1_077.txt | AC | 19 ms | 3456 KiB |
| 1_078.txt | AC | 8 ms | 2816 KiB |
| 1_079.txt | AC | 12 ms | 3712 KiB |
| 1_080.txt | AC | 14 ms | 3968 KiB |
| 1_081.txt | AC | 35 ms | 8320 KiB |
| 1_082.txt | AC | 37 ms | 9088 KiB |
| 1_083.txt | AC | 23 ms | 3840 KiB |
| 1_084.txt | AC | 24 ms | 3840 KiB |
| 1_085.txt | AC | 33 ms | 8704 KiB |
| 1_086.txt | AC | 34 ms | 10240 KiB |
| 1_087.txt | AC | 24 ms | 5760 KiB |
| 1_088.txt | AC | 24 ms | 5760 KiB |
| 1_089.txt | AC | 21 ms | 3840 KiB |
| 1_090.txt | AC | 21 ms | 3840 KiB |
| 1_091.txt | AC | 25 ms | 5760 KiB |
| 1_092.txt | AC | 21 ms | 3840 KiB |
| 1_093.txt | AC | 31 ms | 7168 KiB |
| 1_094.txt | AC | 31 ms | 7296 KiB |
| 1_095.txt | AC | 23 ms | 3840 KiB |
| 1_096.txt | AC | 23 ms | 3840 KiB |
| 1_097.txt | AC | 31 ms | 7168 KiB |
| 1_098.txt | AC | 31 ms | 7936 KiB |
| 1_099.txt | AC | 27 ms | 5760 KiB |
| 1_100.txt | AC | 27 ms | 5760 KiB |
| 1_101.txt | AC | 23 ms | 3840 KiB |
| 1_102.txt | AC | 22 ms | 3840 KiB |
| 1_103.txt | AC | 26 ms | 5760 KiB |
| 1_104.txt | AC | 25 ms | 5760 KiB |
| 1_105.txt | AC | 30 ms | 5760 KiB |
| 1_106.txt | AC | 29 ms | 5760 KiB |
| 1_107.txt | AC | 24 ms | 3840 KiB |
| 1_108.txt | AC | 25 ms | 3840 KiB |
| 1_109.txt | AC | 30 ms | 5760 KiB |
| 1_110.txt | AC | 29 ms | 5760 KiB |
| 1_111.txt | AC | 29 ms | 5760 KiB |
| 1_112.txt | AC | 29 ms | 5760 KiB |
| 1_113.txt | AC | 23 ms | 3840 KiB |
| 1_114.txt | AC | 23 ms | 3840 KiB |
| 1_115.txt | AC | 29 ms | 5760 KiB |
| 1_116.txt | AC | 29 ms | 5888 KiB |