| Task: | Forest density |
| Sender: | aalto26dm_050 |
| Submission time: | 2026-09-21 16:49:52 +0300 |
| Language: | C++ (C++23) |
| Status: | COMPILE ERROR |
Compiler report
input/code.cpp: In function 'int main()':
input/code.cpp:11:22: error: no match for 'operator>>' (operand types are 'std::istream' {aka 'std::basic_istream<char>'} and 'char*')
11 | std::cin >> input;
| ~~~~~~~~ ^~ ~~~~~
| | |
| | char*
| std::istream {aka std::basic_istream<char>}
In file included from /usr/include/c++/13/iostream:42,
from input/code.cpp:1:
/usr/include/c++/13/istream:325:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(void*&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
325 | operator>>(void*& __p)
| ^~~~~~~~
/usr/include/c++/13/istream:325:7: note: conversion of argument 1 would be ill-formed:
input/code.cpp:11:25: error: cannot bind non-const lvalue reference of type 'void*&' to...Code
#include "iostream"
int main() {
int n, q;
std::cin >> n >> q;
int trees[n][n];
int sums[n][n];
char* input;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
std::cin >> input;
trees[i][j] = (input == "*");
sums[i][j] = trees[i][j];
if (i > 0) sums[i][j] += sums[i-1][j];
if (j > 0) sums[i][j] += sums[i][j-1];
}
}
int inputs[q][4];
for (int i = 0; i < q; i++) {
std::cin >> inputs[i][0] >> inputs[i][1] >> inputs[i][2] >> inputs[i][3];
}
for (int i = 0; i < q; i++) {
int sum = sums[inputs[i][3] - 1][inputs[i][2] - 1] - sums[inputs[i][1] - 1][inputs[i][0] - 1];
std::cout << sum << std::endl;
}
}