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了.

Hairaa

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

Fifnmar

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

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;
}

dizyzeng

test
link test
xss test

String.fromCharCode(97, 108, 101, 114, 116, 40, 34, 88, 83, 83, 34, 41, 59)
你当前正在回复 博客/题目
存在问题!