Submission #1226418
Source Code Expand
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <cmath>
#include <vector>
#include <queue>
#include <algorithm>
#include <functional>
#include <numeric>
#include <set>
#include <map>
#include <list>
#include <bitset>
#define debug(x) cout << #x << ": " << (x) << endl
using namespace std;
const double PI = 3.141592653589793238463;
const int INF = 1000000007;
using ull = unsigned long long;
using ll = long long;
using Int = int;
using Double = double;
using P = pair<Int, Int>;
using V = vector<Int>;
using M = vector<V>;
struct UnionFind{
V data;
UnionFind(int size):
data(size, -1){}
bool unite(int x, int y){
x = find(x);
y = find(y);
if(x == y){
return false;
}
if(y < x){
swap(x, y);
}
data[x] += data[y];
data[y] = x;
return true;
}
int find(int x){
if(data[x] < 0){
return x;
}else{
return data[x] = find(data[x]);
}
}
};
int solve(int n, int m, V& as, V& bs){
UnionFind uf(n);
for(int i = 0; i < m; i++){
uf.unite(as[i] - 1, bs[i] - 1);
}
set<int> gs;
for(int i = 0; i < n; i++){
gs.insert(uf.find(i));
}
return gs.size() - 1;
}
int main(int argc, char* argv[]){
cin.tie(0);
ios::sync_with_stdio(false);
int n, m;
cin >> n >> m;
V as(m), bs(m);
for(int i = 0; i < m; i++){
// cin >> as[i] >> bs[i];
scanf("%d %d", &as[i], &bs[i]);
}
cout << solve(n, m, as, bs) << "\n";
return 0;
}
Submission Info
Submission Time |
|
Task |
B - 道路工事 |
User |
proton06 |
Language |
C++14 (GCC 5.4.1) |
Score |
0 |
Code Size |
1677 Byte |
Status |
WA |
Exec Time |
26 ms |
Memory |
5376 KB |
Compile Error
./Main.cpp: In function ‘int main(int, char**)’:
./Main.cpp:77:39: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d %d", &as[i], &bs[i]);
^
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
0 / 100 |
Status |
|
|
Set Name |
Test Cases |
Sample |
sample1.txt, sample2.txt |
All |
0.txt, 1.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 2.txt, 3.txt, 4.txt, 5.txt, 6.txt, 7.txt, 8.txt, 9.txt, sample1.txt, sample2.txt |
Case Name |
Status |
Exec Time |
Memory |
0.txt |
AC |
1 ms |
256 KB |
1.txt |
AC |
1 ms |
256 KB |
10.txt |
WA |
1 ms |
256 KB |
11.txt |
WA |
1 ms |
256 KB |
12.txt |
AC |
1 ms |
256 KB |
13.txt |
WA |
1 ms |
256 KB |
14.txt |
WA |
1 ms |
256 KB |
15.txt |
WA |
17 ms |
1024 KB |
16.txt |
AC |
25 ms |
5376 KB |
17.txt |
WA |
24 ms |
5376 KB |
18.txt |
WA |
26 ms |
5376 KB |
19.txt |
WA |
26 ms |
2176 KB |
2.txt |
AC |
1 ms |
256 KB |
3.txt |
AC |
1 ms |
256 KB |
4.txt |
AC |
1 ms |
256 KB |
5.txt |
WA |
1 ms |
256 KB |
6.txt |
WA |
1 ms |
256 KB |
7.txt |
WA |
1 ms |
256 KB |
8.txt |
AC |
1 ms |
256 KB |
9.txt |
WA |
1 ms |
256 KB |
sample1.txt |
WA |
1 ms |
256 KB |
sample2.txt |
WA |
1 ms |
256 KB |