Submission #76535932


Source Code Expand

Copy
#include <stdio.h>
#include <stdlib.h>
/*
100使
100100
……
……
*/
int ec[312345], *es[312345];
void ae(int f, int t) {
es[f] = realloc(es[f], sizeof(*es[f]) * (ec[f] + 1));
if (es[f] == NULL) exit(2);
es[f][ec[f]++] = t;
}
char visited[312345];
void dfs(int node) {
int i;
if (visited[node]) return;
visited[node] = 1;
for (i = 0; i < ec[node]; i++) dfs(es[node][i]);
}
int main(void) {
int N, M;
int i;
int ans = 0;
if (scanf("%d%d", &N, &M) != 2) return 1;
for (i = 0; i < M; i++) {
int A, B;
if (scanf("%d%d", &A, &B) != 2) return 1;
ae(A, B);
}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#include <stdio.h>
#include <stdlib.h>

/*

「所持金100円、それ以外の支払手段は無く、ツケも使えないとき、
100円のオレンジジュースと100円のメロンジュースを両方買えるといえるか」
的な問題を感じるな……

すなわち、「初期状態で、この先手に入れることができる可能性があるアイテムの種類数」なのか、
「適切に交換を行うことで、最終的に手に入れることができるアイテムの種類数の最大値」なのかわからん……

*/

int ec[312345], *es[312345];

void ae(int f, int t) {
	es[f] = realloc(es[f], sizeof(*es[f]) * (ec[f] + 1));
	if (es[f] == NULL) exit(2);
	es[f][ec[f]++] = t;
}

char visited[312345];

void dfs(int node) {
	int i;
	if (visited[node]) return;
	visited[node] = 1;
	for (i = 0; i < ec[node]; i++) dfs(es[node][i]);
}

int main(void) {
	int N, M;
	int i;
	int ans = 0;
	if (scanf("%d%d", &N, &M) != 2) return 1;
	for (i = 0; i < M; i++) {
		int A, B;
		if (scanf("%d%d", &A, &B) != 2) return 1;
		ae(A, B);
	}
	dfs(1);
	for (i = 1; i <= M; i++) ans += visited[i];
	printf("%d\n", ans);
	return 0;
}

Submission Info

Submission Time
Task C - Straw Millionaire
User mikecat
Language C23 (GCC 14.2.0)
Score 0
Code Size 1206 Byte
Status WA
Exec Time 85 ms
Memory 28952 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 300
Status
AC × 3
AC × 18
WA × 4
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_handmade_00.txt, 01_handmade_01.txt, 01_handmade_02.txt, 01_handmade_03.txt, 01_handmade_04.txt, 01_handmade_05.txt, 01_handmade_06.txt, 01_handmade_07.txt, 01_handmade_08.txt, 01_handmade_09.txt, 02_random_00.txt, 02_random_01.txt, 02_random_02.txt, 02_random_03.txt, 02_random_04.txt, 02_random_05.txt, 03_killer_00.txt, 03_killer_01.txt, 03_killer_02.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 0 ms 1572 KiB
00_sample_01.txt AC 0 ms 1632 KiB
00_sample_02.txt AC 0 ms 1576 KiB
01_handmade_00.txt AC 23 ms 3008 KiB
01_handmade_01.txt AC 24 ms 3020 KiB
01_handmade_02.txt AC 25 ms 3280 KiB
01_handmade_03.txt AC 33 ms 3876 KiB
01_handmade_04.txt AC 36 ms 3936 KiB
01_handmade_05.txt WA 85 ms 28840 KiB
01_handmade_06.txt AC 76 ms 28952 KiB
01_handmade_07.txt AC 56 ms 12888 KiB
01_handmade_08.txt AC 56 ms 12880 KiB
01_handmade_09.txt AC 18 ms 6180 KiB
02_random_00.txt AC 47 ms 11736 KiB
02_random_01.txt AC 32 ms 4832 KiB
02_random_02.txt AC 21 ms 2724 KiB
02_random_03.txt AC 38 ms 5068 KiB
02_random_04.txt AC 34 ms 3276 KiB
02_random_05.txt AC 32 ms 3032 KiB
03_killer_00.txt WA 33 ms 9348 KiB
03_killer_01.txt WA 32 ms 9424 KiB
03_killer_02.txt WA 42 ms 22056 KiB


2026-06-09 (Tue)
04:24:56 +09:00