Task: | Niitty |
Sender: | Tmotomaster |
Submission time: | 2024-11-10 20:51:13 +0200 |
Language: | C++ (C++20) |
Status: | COMPILE ERROR |
Compiler report
input/code.cpp: In function 'int main()': input/code.cpp:7:10: error: no matching function for call to 'std::basic_istream<char>::tie(bool)' 7 | cin.tie(false); | ~~~~~~~^~~~~~~ In file included from /usr/include/c++/11/ios:44, from /usr/include/c++/11/ostream:38, from /usr/include/c++/11/iostream:39, from input/code.cpp:1: /usr/include/c++/11/bits/basic_ios.h:295:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>* std::basic_ios<_CharT, _Traits>::tie() const [with _CharT = char; _Traits = std::char_traits<char>]' 295 | tie() const | ^~~ /usr/include/c++/11/bits/basic_ios.h:295:7: note: candidate expects 0 arguments, 1 provided /usr/include/c++/11/bits/basic_ios.h:307:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>* std::basic_ios<_CharT, _Traits>::tie(std::basic_ostream<_CharT, _Traits>*) [with _CharT = char; _Traits = std::char_traits<char>]' 307 | tie(basic_ostream<_CharT, _...
Code
#include <iostream> #include <string> using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(false); const int rajaN = 500; int n; cin >> n; string niitty[rajaN]; string olemassa = ""; char nolla = 'A'; int loydot[rajaN][26][rajaN+1]; int laskuri[rajaN][26] = {}; int viimeiset[26]; for (int i = 0; i < n; i++) { string rivi; cin >> rivi; niitty[i] = rivi; for (int j = 0; j < n; j++) { bool uusi = true; for (int k = 0; k < olemassa.length(); k++) { if (rivi[j] == olemassa[k]) { uusi = false; break; } } if (uusi) { olemassa += rivi[j]; } char kirjain = rivi[j] - nolla; loydot[i][kirjain][laskuri[i][kirjain]] = j; laskuri[i][kirjain] += 1; viimeiset[kirjain] = i; } } for (int i = 0; i < n; i++) { for (int j = 0; j < olemassa.length(); j++) { char kirjain = olemassa[j] - nolla; loydot[i][kirjain][laskuri[i][kirjain]] = n; } } int viimeinen = n; for (int i = 0; i < olemassa.length(); i++) { char kirjain = olemassa[i] - nolla; if (viimeiset[kirjain] < viimeinen) { viimeinen = viimeiset[kirjain]; } } int laatikot = 0; for (int i = 0; i <= viimeinen; i++) { int indeksit[rajaN][26] = {}; for (int j = 0; j < n; j++) { int minimit[26]; fill_n(minimit, 26, n); int loppuL = n; for (int k = i; k < n; k++) { if (loppuL <= 0) { break; } for (int l = 0; l < olemassa.length(); l++) { char kirjain = olemassa[l] - nolla; if (loydot[k][kirjain][indeksit[k][kirjain]] < j) { indeksit[k][kirjain] += 1; } if (loydot[k][kirjain][indeksit[k][kirjain]] < minimit[kirjain]) { minimit[kirjain] = loydot[k][kirjain][indeksit[k][kirjain]]; } } int suurinminimi = 0; for (int l = 0; l < olemassa.length(); l++) { char kirjain = olemassa[l] - nolla; if (minimit[kirjain] > suurinminimi) { suurinminimi = minimit[kirjain]; } } if (suurinminimi < loppuL) { laatikot += (n - k) * (loppuL - suurinminimi); loppuL = suurinminimi; } } } } cout << laatikot; return 0; }