QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#23844#2903. Tetris GenerationdmcdoAC ✓9ms3692kbC++1.6kb2022-03-19 23:10:402022-04-30 04:21:35

Judging History

你现在查看的是最新测评结果

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2022-04-30 04:21:35]
  • 评测
  • 测评结果:AC
  • 用时:9ms
  • 内存:3692kb
  • [2022-03-19 23:10:40]
  • 提交

answer

#include <iostream>

using namespace std;

bool uniqueseq(string &str, int lo, int hi) {
    short j = 0, l = 0, s = 0, z = 0, i = 0, o = 0, t = 0;

    for (int _i = lo; _i <= hi; _i++) {
        switch(str[_i]) {
        case 'J':
            if (++j > 1)
                return false;
            break;
        case 'L':
            if (++l > 1)
                return false;
            break;
        case 'S':
            if (++s > 1)
                return false;
            break;
        case 'Z':
            if (++z > 1)
                return false;
            break;
        case 'I':
            if (++i > 1)
                return false;
            break;
        case 'O':
            if (++o > 1)
                return false;
            break;
        case 'T':
            if (++t > 1)
                return false;
            break;
        }
    }

    return true;
}

int main(int argc, char const *argv[])
{
    int t;
    cin >> t;
    
    while (t--) {
        string str;
        cin >> str;

        bool valid = false;

        for (int sep = 0; sep < 7; sep++) {
            if (sep != 0 && !uniqueseq(str, 0, sep - 1))
                continue;
            
            for (int i = sep; i < str.length(); i += 7)
                if (!uniqueseq(str, i, min(i + 6, (int)str.length() - 1)))
                    goto skip;

            valid = true;
            break;
        
        skip:
            continue;
        }

        cout << (valid ? 1 : 0) << endl;
    }

    return 0;
}

详细

Test #1:

score: 100
Accepted
time: 3ms
memory: 3684kb

input:

2
JJTO
JJTT

output:

1
0

result:

ok 2 lines

Test #2:

score: 0
Accepted
time: 3ms
memory: 3548kb

input:

1
O

output:

1

result:

ok single line: '1'

Test #3:

score: 0
Accepted
time: 4ms
memory: 3548kb

input:

2
JLSZIOTTOIZSLJ
JLSZIOJLSZIOT

output:

1
1

result:

ok 2 lines

Test #4:

score: 0
Accepted
time: 6ms
memory: 3692kb

input:

7
ZSTIOILZOTSJJLIOTSZSTIZOLJSTLOJZITSIJLZOIZSJOLTTJLSZOISOIZLJTTJOSILZZITOSJLTLIZOSJSJOLTIZSOITZJLLIJSTOZOSIJTLZITLOSZJTSZILJOJZSOTLIITOLZJSZTLJISOSJLTZOIZOLISJTSILZJOTOZTJISLLZOJTSISJTILOZTIJZSOLISOZJTLITLOSZJIZJOTSLTSZILJOTIJLZOSTLZOJSIOSJTLZISZLJTIOITLOSZJSOIJZLTLJSTOIZSOZJITLLISJOTZTJOILSZLTJZIS...

output:

1
1
1
1
1
1
1

result:

ok 7 lines

Test #5:

score: 0
Accepted
time: 1ms
memory: 3648kb

input:

3
ZSTIOILZOTSJJLIOTSZSTIZOLJSTLOJZITSIJLZOIZSJOLTOJLSZOISOIZLJTTJOSILZZITOSJLTLIZOSJSJOLTIZSOITZJLLIJSTOZOSIJTLZITLOSZJTSZILJOJZSOTLIITOLZJSZTLJISOSJLTZOIZOLISJTSILZJOTOZTJISLLZOJTSISJTILOZTIJZSOLISOZJTLITLOSZJIZJOTSLTSZILJOTIJLZOSTLZOJSIOSJTLZISZLJTIOITLOSZJSOIJZLTLJSTOIZSOZJITLLISJOTZTJOILSZLTJZIS...

output:

0
1
0

result:

ok 3 lines

Test #6:

score: 0
Accepted
time: 9ms
memory: 3492kb

input:

100
TOISIZOLSJTLZTOSIJLTZSJOILOSTZJIOLJZTISZIOLTJSJZLTOISLTOIZJSZLITOSJSTZJOILOSLZITJOJTIZLSSOITJZLLOTJISZZSITJLOZTLJISOIOTSLJZZOTISLJLISOTJZLZJSOITZSIJLTOLSJIOTZJTOZSLILJTIOZSLOZTSJITJZIOLSLOSTJIZSLOJTZIZSOIJTLIOTJZSLIZJOLSTSJLITOZSJITZOLJLTZSOIIJOTZLSIZOSTJLISOJTZLLOIJSZTZILSOJTOZILSTJTOLSZIJSOZJI...

output:

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

result:

ok 100 lines

Test #7:

score: 0
Accepted
time: 5ms
memory: 3632kb

input:

1000
OTSZILILJZOTSSLTOJIZTZLSIJOOLSITJZSOIZTLJTOISLJZJTLIOSZSJTILZOLZSJOTIJILSOTZIZLOJSTTSIOJLZJISZLTOZST
SLIJSZTLOLSZJITOOZTIJSLLJTIZOSOLZISJTZSOJTILLSTOIZJOITJLZSSJILTOZSZLJOTILSOTZJITJZOLSIOJSLTIZSLIOZTJ
TOLJZTIOSOTIZSJLISOLTZJOZILSJTJLTSOIZTZOJILSIOTSZLJOJTSLZIZLJTSIOTISJOLZJTSLIOZILSTZJOOSZTIJL...

output:

1
1
1
1
1
1
1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
...

result:

ok 1000 lines