CSES - Datatähti 2023 alku - Results
Submission details
Task:Lehmät
Sender:Lordoa
Submission time:2022-11-02 13:23:27 +0200
Language:C++17
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED28
#2ACCEPTED72
Test results
testverdicttimegroup
#1ACCEPTED0.00 s1, 2details
#2ACCEPTED0.00 s1, 2details
#3ACCEPTED0.00 s1, 2details
#4ACCEPTED0.00 s1, 2details
#5ACCEPTED0.00 s1, 2details
#6ACCEPTED0.00 s2details
#7ACCEPTED0.00 s2details
#8ACCEPTED0.00 s2details
#9ACCEPTED0.00 s2details

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:22:10: warning: suggest parentheses around comparison in operand of '|' [-Wparentheses]
   22 |     if (n<3|m<3){
      |         ~^~

Code

#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <string.h>

int main(){
    std::string input;
    std::getline(std::cin, input);
    int n = stoi(input.substr(0,input.find(" ")));
    int m = stoi(input.substr(input.find(" "),input.length()-1));
    char map[n+1][m+1];
    for (int i=0;i<n;i++){
        std::cin >> map[i];
    }
    /*
    // If I needed to be very very frugal with memory, I'd process the map sections between inputs.
    // Print the map.
    for (int i=0;i<n;i++){
        std::cout << map[i] << "\n";
    }
    */
    if (n<3|m<3){
        std::cout << "0\n";
        return 0;
    }
    int X = -1;
    int Cows = 0;
    for (int i=0;i<n;i++){
        for (int j=0;j<m;j++){
            if (X==-1){
                if (map[i][j]=='*'){
                    X = j+1;
                    break;
                } else continue;
            }
            if (j<X)
                j=X;
            if (map[i][X-1]!='*')
                goto results;
            if (map[i][j]=='@')
                Cows++;
            if (map[i][j]=='*')
                break;
        }
    }
results:
    std::cout << Cows << "\n";
    return 0;
}

Test details

Test 1

Group: 1, 2

Verdict: ACCEPTED

input
3 3
***
*.*
***

correct output
0

user output
0

Test 2

Group: 1, 2

Verdict: ACCEPTED

input
3 3
***
*@*
***

correct output
1

user output
1

Test 3

Group: 1, 2

Verdict: ACCEPTED

input
5 10
...@......
..******..
@.*@@@@*.@
..******..
...

correct output
4

user output
4

Test 4

Group: 1, 2

Verdict: ACCEPTED

input
10 10
@@...@.@@@
..@@.@@..@
@.*******@
..*@....*.
...

correct output
11

user output
11

Test 5

Group: 1, 2

Verdict: ACCEPTED

input
10 10
**********
*@@@@@@@@*
*@@@@@@@@*
*@@@@@@@@*
...

correct output
64

user output
64

Test 6

Group: 2

Verdict: ACCEPTED

input
100 100
.........................@.......

correct output
60

user output
60

Test 7

Group: 2

Verdict: ACCEPTED

input
100 100
..@@..........@......@....@@.....

correct output
1507

user output
1507

Test 8

Group: 2

Verdict: ACCEPTED

input
100 100
.@..@@..@@.@..@..@..@@..@..@.....

correct output
3348

user output
3348

Test 9

Group: 2

Verdict: ACCEPTED

input
100 100
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@...

correct output
7225

user output
7225