QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#644906 | #8544. Colorful Graph 2 | asaltfish | WA | 67ms | 5708kb | C++23 | 4.9kb | 2024-10-16 15:56:20 | 2024-10-16 15:56:21 |
Judging History
answer
//#include<cstdio>
//#include<iostream>
//#include<cmath>
//#include<algorithm>
//#include<string.h>
//#include<iomanip>
//#include<numeric>
//#include<stack>
//#include<deque>
//#include<queue>
//#include<vector>
//#include<map>
//#include<set>
//#define ll long long
//#define endl "\n"
//using namespace std;
//inline int read() { register int s = 0, w = 1; char ch = getchar(); while (ch < '0' || ch > '9') { if (ch == '-')w = -1; ch = getchar(); }while (ch >= '0' && ch <= '9')s = s * 10 + ch - '0', ch = getchar(); return s * w; }
//ll t, n, m, l, r, ans[200005];
//vector<ll>e[200005];
//set<int>st;
//void dfs(ll x, bool flag)
//{
// ans[x] = flag;
// for (auto v : e[x])
// {
// if (ans[v] != -1) {
// if (ans[v] == flag) {
// if (st.count((v + 1) % n) != 0) {
// dfs((v + 1) % n, !flag);
// }
// else {
// ans[(v + 1) % n] = !flag;
// }
// if (st.count((v - 1 + n) % n) != 0) {
// dfs((v - 1 + n) % n, !flag);
// }
// else {
// ans[(v - 1 + n) % n] = !flag;
// }
// }
// }
// dfs(v, !flag);
// }
//}
//int main()
//{
// ios::sync_with_stdio(false);
// cin.tie(0); cout.tie(0);
// cin >> t;
// while (t--)
// {
// cin >> n >> m;
// fill(ans, ans + n, -1);
// if (!m)
// {
// ll now = 0;
// for (int i = 0; i < n; i++)
// {
// cout << (now ? 'R' : 'B');
// now = 1 - now;
// }
// cout << endl;
// continue;
// }
// vector<char>ans(n, '0');
// vector<pair<int, int>>vt;
// st.clear();
// for (int i = 1; i <= m; i++)
// {
// cin >> l >> r;
// st.insert(l);
// st.insert(r);
// e[l].push_back(r);
// e[r].push_back(l);
// }
// for (auto i : st)
// {
// if (ans[i] != -1)
// dfs(i, 0);
// } x 1 __int64
//
// char p;
// // int i = *(st.begin()), sum = 1;
// // for (;sum<=n; i=(i+1)%n)
// // {
// // sum++;
// // if (ans[i] == '0')
// // {
// // ans[i] = (p == 'R' ? 'B' : 'R');
// // }
// // p = ans[i];
// // }
// for (int i = 0; i < n; i++) {
// cout << (ans[i] == -1 ? 'R' : (ans[i] == 0 ? 'R' : 'B'));
// e[i].clear();
// }
//
// cout << endl;
//
// }
// return 0;
//}
#include<cstdio>
#include<iostream>
#include<cmath>
#include<algorithm>
#include<string.h>
#include<iomanip>
#include<numeric>
#include<stack>
#include<deque>
#include<queue>
#include<vector>
#include<map>
#include<set>
#define ll long long
#define endl "\n"
using namespace std;
inline int read() { register int s = 0, w = 1; char ch = getchar(); while (ch < '0' || ch > '9') { if (ch == '-')w = -1; ch = getchar(); }while (ch >= '0' && ch <= '9')s = s * 10 + ch - '0', ch = getchar(); return s * w; }
ll t, n, m, l, r, ans[200005];
vector<ll>e[200005];
set<int>st;
void dfs(ll x, bool flag)
{
ans[x] = flag;
for (auto v : e[x])
{
if (ans[v] == -1)
dfs(v, !flag);
}
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
cin >> t;
while (t--)
{
cin >> n >> m;
fill(ans, ans + n, -1);
if (!m)
{
ll now = 0;
for (int i = 0; i < n; i++)
{
cout << (now ? 'R' : 'B');
now = 1 - now;
}
cout << endl;
continue;
}
st.clear();
for (int i = 1; i <= m; i++)
{
cin >> l >> r;
st.insert(l);
st.insert(r);
e[l].push_back(r);
e[r].push_back(l);
}
for (auto i : st)
{
if (ans[i] == -1)
{
//if (ans[((i - 1) % n + n) % n] != -1)
// dfs(i, 1 - ans[((i - 1) % n + n) % n]);
//else if (ans[(i + 1) % n] != -1)
// dfs(i, 1 - ans[(i + 1) % n]);
//else
dfs(i, 0);
}
}
char p;
int i = *(st.begin()), sum = 1;
for (; sum <= n; i = (i + 1) % n)
{
sum++;
if (ans[i] == -1)
{
ans[i] = 1 - p;
}
p = ans[i];
}
for (int i = 0; i < n; i++) {
cout << (ans[i] == 0 ? 'R' : 'B');
e[i].clear();
}
cout << endl;
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 5608kb
input:
3 3 0 4 1 1 3 6 3 0 2 2 4 4 0
output:
BRB RRBB RBBRRB
result:
ok ok (3 test cases)
Test #2:
score: -100
Wrong Answer
time: 67ms
memory: 5708kb
input:
100000 9 6 2 0 4 6 3 6 0 6 0 7 2 6 3 0 5 2 2 4 2 0 6 3 1 5 4 1 2 4 9 6 3 1 6 4 8 1 3 6 1 6 8 6 3 0 7 4 3 0 4 0 6 4 3 1 7 4 5 1 5 0 3 1 1 4 4 1 1 3 6 3 2 4 4 0 2 0 6 3 3 0 1 3 5 3 7 4 0 5 2 5 5 1 3 5 8 5 4 1 5 1 5 0 1 3 5 7 3 0 8 5 0 2 4 6 0 6 0 3 4 0 8 5 5 1 1 4 5 0 3 1 5 7 3 0 10 7 0 2 9 2 5 8 3 9 ...
output:
RBBBBRRBR BRB RBBRR RRRBBB RRBBBRRBB BRB RRBBBRR RRBBBBR RRBB RBRBBR RRBBRR RRRRBBR RRBBBBRR BRB RBBBRBBR RRBBBBRR BRB RBBBBBBRRR RRBRRBBB RRRRRRBBBB RRRRRBBBBB RBBBRBBBRR BRB RRBRRBB RRBBBB RBBRRRRR RRBB RBBBRRR RRRRRBBBBB RRRRBBB RRBRRBBB RRBBBB RBBRRB BRB BRB RRBBBRRRB RRRBBRR RRBBR BRRRBBBRRR RR...
result:
wrong answer cycle detected (test case 47)