Submission #1870550
Source Code Expand
#include <iostream>
#include <sstream>
#include <iomanip>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <cctype>
#include <cstring>
#include <vector>
#include <list>
#include <queue>
#include <deque>
#include <stack>
#include <map>
#include <set>
#include <algorithm>
#include <iterator>
#include <bitset>
#include <ctime>
using namespace std;
#define F(i, n) for(int i = 0; i < n; ++i)
#define FOR(i,a,b) for (int i = (a); i < (b); i++)
#define RFOR(i,b,a) for (int i = (b)-1; i >= (a); i--)
#define ITER(it,a) for (__typeof(a.begin()) it = a.begin(); it != a.end(); it++)
#define FILL(a,value) memset(a, value, sizeof(a))
#define SZ(a) (int)a.size()
#define ALL(a) a.begin(), a.end()
#define PB push_back
#define MP make_pair
typedef long long LL;
typedef vector<int> VI;
typedef pair<int, int> PII;
const double PI = acos(-1.0);
const int INF = 1000 * 1000 * 1000 + 7;
const LL LINF = INF * (LL) INF;
const int MAX = 100000 + 47;
VI G[MAX];
int C[MAX];
int cnt[MAX];
bool dfs(int v, int c)
{
C[v] = c;
cnt[C[v]]++;
FOR(i, 0, SZ(G[v]))
{
int to = G[v][i];
if (C[to] != -1)
{
if (C[to] == C[v])
return false;
}
else
{
if (!dfs(to, c ^ 1))
return false;
}
}
return true;
}
int main()
{
//freopen("in.txt", "r", stdin);
int n, m;
scanf("%d%d", &n, &m);
FOR(i, 0, m)
{
int x, y;
scanf("%d%d", &x, &y);
--x, --y;
G[x].PB(y);
G[y].PB(x);
}
FILL(C, -1);
LL NB = 0;
LL B1 = 0, B0 = 0;
FOR(i, 0, n)
if (C[i] == -1)
{
cnt[0] = cnt[1] = 0;
bool b = dfs(i, 0);
if (!b)NB++;
else if (cnt[1])++B1;
else ++B0;
}
LL res = NB * NB;
res += 2 * NB * B1;
res += 2 * B1 * B1;
res += 2 * B0 * n - B0 * B0;
cout << res << endl;
}
Submission Info
Submission Time |
|
Task |
C - Squared Graph |
User |
vjudge5 |
Language |
C++14 (GCC 5.4.1) |
Score |
0 |
Code Size |
1981 Byte |
Status |
WA |
Exec Time |
73 ms |
Memory |
7296 KB |
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:73:26: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d", &n, &m);
^
./Main.cpp:77:30: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d", &x, &y);
^
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
0 / 800 |
Status |
|
|
Set Name |
Test Cases |
Sample |
sample1.txt, sample2.txt |
All |
sample1.txt, sample2.txt, in1.txt, in10.txt, in11.txt, in12.txt, in13.txt, in14.txt, in15.txt, in16.txt, in17.txt, in18.txt, in19.txt, in2.txt, in20.txt, in21.txt, in22.txt, in23.txt, in24.txt, in25.txt, in26.txt, in27.txt, in28.txt, in3.txt, in4.txt, in5.txt, in6.txt, in7.txt, in8.txt, in9.txt, sample1.txt, sample2.txt |
Case Name |
Status |
Exec Time |
Memory |
in1.txt |
AC |
2 ms |
2944 KB |
in10.txt |
AC |
3 ms |
2944 KB |
in11.txt |
AC |
3 ms |
2944 KB |
in12.txt |
AC |
23 ms |
6144 KB |
in13.txt |
AC |
20 ms |
6144 KB |
in14.txt |
AC |
38 ms |
6144 KB |
in15.txt |
WA |
6 ms |
3328 KB |
in16.txt |
WA |
28 ms |
4608 KB |
in17.txt |
WA |
22 ms |
5376 KB |
in18.txt |
WA |
50 ms |
6144 KB |
in19.txt |
WA |
39 ms |
5888 KB |
in2.txt |
WA |
3 ms |
2944 KB |
in20.txt |
WA |
40 ms |
5888 KB |
in21.txt |
WA |
73 ms |
7168 KB |
in22.txt |
WA |
47 ms |
5888 KB |
in23.txt |
WA |
34 ms |
5248 KB |
in24.txt |
AC |
3 ms |
3072 KB |
in25.txt |
WA |
72 ms |
7296 KB |
in26.txt |
WA |
3 ms |
2944 KB |
in27.txt |
WA |
3 ms |
3072 KB |
in28.txt |
WA |
72 ms |
7168 KB |
in3.txt |
WA |
3 ms |
2944 KB |
in4.txt |
WA |
3 ms |
2944 KB |
in5.txt |
WA |
51 ms |
5632 KB |
in6.txt |
AC |
5 ms |
3328 KB |
in7.txt |
WA |
5 ms |
3072 KB |
in8.txt |
WA |
9 ms |
3840 KB |
in9.txt |
WA |
23 ms |
4352 KB |
sample1.txt |
AC |
2 ms |
2944 KB |
sample2.txt |
AC |
2 ms |
2944 KB |