3188. 坏掉的彩灯

帕秋莉_诺蕾姬
#include<bits/stdc++.h>
using namespace std;
int t, c;
int main()
{
    int a[5], t; char q, w, e, r;
    string s;
    cin >> t;
    while (t--)
    {
        memset(a, 0, sizeof(a));
        cin >> s;
        printf("case #%d:\n", c++);
        for (int i = 0; i < s.size(); i++)
            if (s[i] == '!')
                a[i % 4]++;
            else
                s[i] == 'R' ? q = i : s[i] == 'B' ? w = i : s[i] == 'Y' ? e = i : r = i;
            printf("%d %d %d %d\n", a[q % 4], a[w % 4], a[e % 4], a[r % 4]);
    }
}
10205102427

四个的时候需要特判

Fifnmar

大佬……

WhoKnow

这题数据不知道是不是有点假, 我编译了两位AC的同志的代码.
发现case0是!!!!的时候, 他们的程序都直接segmentation fault了.

Fifnmar

并不是数据假,而是你这个数据不符合题意。题意说保证有唯一解,显然 !!!! 有多解。

Hairaa

是的,颜色没出现过就错了

dizyzeng

test
link test
xss test

String.fromCharCode(97, 108, 101, 114, 116, 40, 34, 88, 83, 83, 34, 41, 59)
hyf347347

其余实现起来都是常规思想,主要第三个测试点考察的是某一个全是感叹号的情况 如:R!YGR!YGR!YG

include

include

include

using namespace std;

int main()
{
int t;
int a[4];
cin >> t;
for (int i = 0; i < t; i++){
string s;
cin >> s;
memset(a, 0, sizeof(a));
int r=s.size(), b=s.size(), y=s.size(), g=s.size();
for (int k = 0; k < s.size(); k++){
if (s[k] == ‘!’){
a[k % 4]++;
}
else if (s[k] == ‘R’){
r = k;
}
else if (s[k] == ‘B’){
b = k;
}
else if (s[k] == ‘Y’){
y = k;
}
else if (s[k] == ‘G’){
g = k;
}
}
cout << “case #” << i << “:” << endl;
if (r<s.size()) cout << a[r % 4] << ” “;
else cout << a[6 - b % 4 - y % 4 - g % 4] << ” “;
if (b<s.size()) cout << a[b % 4] << ” “;
else cout << a[6 - r % 4 - y % 4 - g % 4] << ” “;
if (y<s.size()) cout << a[y % 4] << ” “;
else cout << a[6 - b % 4 - r % 4 - g % 4] << ” “;
if (g<s.size()) cout << a[g % 4] << endl;
else cout << a[6 - b % 4 - y % 4 - r % 4] << endl;
}
return 0;
}

你当前正在回复 博客/题目
存在问题!