QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#705030#6765. Don't Really Like How The Story EndsbeamishboysWA 178ms3792kbC++23737b2024-11-02 21:55:462024-11-02 21:55:46

Judging History

你现在查看的是最新测评结果

  • [2024-11-02 21:55:46]
  • 评测
  • 测评结果:WA
  • 用时:178ms
  • 内存:3792kb
  • [2024-11-02 21:55:46]
  • 提交

answer

#include <iostream>
#include <vector>
#include <set>
using namespace std;
using vi = vector<int>;

void solve() {
	int n, m; cin >> n >> m;
	vector<set<int, greater<int>>> adj(n+1);
	for (int i = 0; i < m; i++) {
		int u, v; cin >> u >> v;
		adj[u].insert(v);
		adj[v].insert(u);
	}
	vi st;

	st.push_back(1);
	int out = 0, vis = 0;
	while (st.size()) {
		int top = st.back();
		st.pop_back();
		if (vis >= top) continue;
		vis = top;
		if (top == n) break;
		for (int i : adj[top]) {
			if (i > top) {
				st.push_back(i);
			}
		}
		if (st.size() && st.back() == top+1) continue;
		out++;
		st.push_back(top+1);
	}
	cout << out << endl;
}

int main() {
	int t; cin >> t;
	while (t--) solve();
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3792kb

input:

3
2 3
1 1
1 2
2 1
4 1
1 4
4 2
1 2
3 4

output:

0
2
1

result:

ok 3 lines

Test #2:

score: -100
Wrong Answer
time: 178ms
memory: 3720kb

input:

117747
3 7
2 1
3 3
1 3
1 1
3 2
1 1
3 1
4 8
2 3
4 3
3 2
4 2
1 3
2 1
4 3
2 4
3 4
2 3
2 2
3 3
1 1
2 5
1 1
2 2
2 2
1 2
2 2
3 7
2 1
1 2
3 3
3 2
1 2
3 3
3 2
4 5
1 2
3 3
4 4
1 4
2 1
3 1
3 2
1 3
1 1
1 1
1 1
1 6
1 1
1 1
1 1
1 1
1 1
1 1
5 4
2 1
2 5
1 3
3 2
4 7
1 1
2 4
3 2
1 1
1 1
4 2
2 3
5 8
3 3
2 2
4 2
1 4
1...

output:

0
0
1
0
0
1
1
0
0
1
1
1
0
0
2
0
2
0
1
0
0
3
0
0
0
2
1
1
1
0
0
0
2
0
3
1
3
0
2
0
3
1
2
1
0
0
1
2
0
2
0
1
2
0
0
2
0
0
0
1
0
3
0
1
0
0
1
0
0
3
2
0
0
0
1
0
2
3
0
1
1
1
1
0
0
2
1
3
0
1
2
0
0
0
3
0
0
3
1
0
2
0
0
0
1
0
1
0
0
0
0
4
0
0
0
0
0
0
2
0
2
1
0
1
1
0
0
2
0
1
0
0
0
2
0
1
2
1
0
0
0
1
0
0
1
1
1
0
0
0
...

result:

wrong answer 35th lines differ - expected: '2', found: '3'