CSES - Datatähti 2023 alku - Results
Submission details
Task:Lehmät
Sender:Lordoa
Submission time:2022-11-02 13:23:27 +0200
Language:C++ (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