結果

問題 No.408 五輪ピック
ユーザー moyashi_senpai
提出日時 2016-08-06 01:37:41
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
WA  
実行時間 -
コード長 1,479 bytes
コンパイル時間 1,211 ms
コンパイル使用メモリ 95,640 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-11-07 01:49:29
合計ジャッジ時間 2,774 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 27 WA * 5
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.cpp: In function ‘int main()’:
main.cpp:27:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   27 |         scanf("%d %d", &n, &m);
      |         ~~~~~^~~~~~~~~~~~~~~~~
main.cpp:31:22: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   31 |                 scanf("%d %d", &a, &b);
      |                 ~~~~~^~~~~~~~~~~~~~~~~

ソースコード

diff #

#include <iostream>
#include <cstdio>
#include <vector>
#include <cmath>
#include <cstring>
#include <numeric>
#include <algorithm>
#include <functional>
#include <array>
#include <map>
#include <queue>
#include <limits.h>
#include <set>
#include <stack>

using namespace std;

#define Getsign(n) ((n > 0) - (n < 0))
#define QWERTYR(c) (c == 'y' || c == 'u' || (c >= 'h' && c <= 'p') ?	true : false)
map<string, int> roma_time = { { "I",1 },{ "II",2 },{ "III",3 },{ "IIII",4 },{ "V",5 },{ "VI",6 },{ "VII",7 },{ "VIII",8 },{ "IX",9 },{ "X",10 },{ "XI",11 },{ "XII",12 } };

typedef vector<int> Ivec;
typedef pair<int, int> pii;

int main() {
	int n, m;
	scanf("%d %d", &n, &m);
	vector<vector<int>> graph(n, vector<int>());
	for (int i = 0; m > i; i++) {
		int a, b;
		scanf("%d %d", &a, &b);
		a--;
		b--;
		graph[a].push_back(b);
		graph[b].push_back(a);
	}

	queue<int> que;
	array<int, 20000> tesu = {};
	for (int i = 0; graph[0].size() > i; i++) {
		tesu[graph[0][i]] = 1;
		que.push(graph[0][i]);
	}
	while (!que.empty()) {
		int vertex = que.front();
		que.pop();
		
		if (tesu[vertex] == 2) {
			for (int i = 0; graph[vertex].size() > i; i++) {
				if (tesu[graph[vertex][i]] == 2) {
					printf("YES\n");
					return 0;
				}
			}
		}
		else if(tesu[vertex] == 1){
			for (int i = 0; graph[vertex].size() > i; i++) {
				if (tesu[graph[vertex][i]] == 0) {
					tesu[graph[vertex][i]] = 2;
					que.push(graph[vertex][i]);
				}
			}
		}
	}

	printf("NO\n");
	return 0;
}
0