QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#673795#995. 桥lyccRE 0ms0kbC++202.0kb2024-10-25 10:17:382024-10-25 10:17:39

Judging History

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

  • [2024-10-25 10:17:39]
  • 评测
  • 测评结果:RE
  • 用时:0ms
  • 内存:0kb
  • [2024-10-25 10:17:38]
  • 提交

answer

#include <bits/stdc++.h>
#define int long long
#define lb lower_bound
#define ub upper_bound
#define fi first
#define se second
#define pb emplace_back
#define For(i, x, y) for (int i = (x); i <= (y); i ++)
#define rep(i, x, y) for (int i = (x); i >= (y); i --)
#define pii pair<int, int>
#define all(v) v.begin(), v.end()
#define sz(v) (int)((v).size())
#define ull unsigned long long
#define ls (p << 1)
#define rs (p << 1 | 1)
#define mp make_pair
#define i128 __int128
#define db long double
#define vi vector< int >
#define mem(v, x) memset(v, x, sizeof(v))
#define A3 array< int, 3 >
#define A4 array< int, 4 >
#define vpii vector< pair< int, int > >
using namespace std;
mt19937_64 rnd(time(0));
template< typename T > void cmin(T &x, T y) { return x = min(x, y), void(); }
template< typename T > void cmax(T &x, T y) { return x = max(x, y), void(); }
int ksm(int x, int y, int p) {
    int v = 1; x %= p;
    while (y) v = 1ll * v * ((y & 1) ? x : 1) % p, x = 1ll * x * x % p, y >>= 1;
    return (v % p + p) % p;
}
bool MemoryST;
const int N = 1e5 + 5;
const int mod = 998244353;
const long long INF = 1e18;
const int base = 13131;
int n, m;
vpii e[N];
int a[N], b[N];
int dfn[N], low[N], num;
vi ans;
void dfs(int x, int edge) {
	dfn[x] = low[x] = ++ num;
	for (auto [y, id] : e[x])
		if (!dfn[y]) {
			dfs(y, id), cmin(low[x], low[y]);
			if (low[y] > dfn[x]) ans.pb(id);
		}
		else if (id != edge) cmin(low[x], dfn[y]);
	return;
}
void Main() {
	cin >> n >> m;
	For (i, 1, m) {
		cin >> a[i] >> b[i];
		e[a[i]].pb(mp(b[i], i)); e[b[i]].pb(mp(a[i], i));	
	}
	For (i, 1, n) if (!dfn[i]) dfs(i, 0);
	sort(all(ans));
	for (int x : ans) cout << a[x] << ' ' << b[x] << '\n';
    return;
}
bool MemoryED;
signed main() {
    ios :: sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
    cerr << fixed << setprecision(6) << (&MemoryST - &MemoryED) / 1048576.0 << "MB\n";
    int TESTCNT = 1;
    // cin >> TESTCNT;
    while (TESTCNT --) Main();
    cerr << endl << 1e3 * clock() / CLOCKS_PER_SEC << "ms"; 
    return 0;
}

詳細信息

Test #1:

score: 0
Runtime Error

input:

24942 387166
12556 21443
22404 16376
11073 24296
1535 11968
23745 2818
5073 12731
22550 14761
24118 12008
22695 18979
15118 13639
2080 8721
692 22578
22581 15267
9278 4127
7457 21674
17693 23448
10949 23429
9700 6009
14140 5064
7742 15164
17336 1662
18903 9760
17645 19575
6540 11942
11 4937
15282 10...

output:


result: