| Task: | Niitty |
| Sender: | Karjalanp11rakka |
| Submission time: | 2024-11-01 12:45:33 +0200 |
| Language: | C++ (C++20) |
| Status: | READY |
| Result: | 0 |
| group | verdict | score |
|---|---|---|
| #1 | WRONG ANSWER | 0 |
| #2 | WRONG ANSWER | 0 |
| #3 | WRONG ANSWER | 0 |
| #4 | WRONG ANSWER | 0 |
| #5 | WRONG ANSWER | 0 |
| #6 | WRONG ANSWER | 0 |
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | WRONG ANSWER | 0.00 s | 1, 2, 3, 4, 5, 6 | details |
| #2 | WRONG ANSWER | 0.00 s | 1, 2, 3, 4, 5, 6 | details |
| #3 | WRONG ANSWER | 0.00 s | 1, 2, 3, 4, 5, 6 | details |
| #4 | WRONG ANSWER | 0.00 s | 1, 2, 3, 4, 5, 6 | details |
| #5 | WRONG ANSWER | 0.00 s | 1, 2, 3, 4, 5, 6 | details |
| #6 | WRONG ANSWER | 0.01 s | 2, 3, 4, 5, 6 | details |
| #7 | WRONG ANSWER | 0.00 s | 2, 3, 4, 5, 6 | details |
| #8 | WRONG ANSWER | 0.00 s | 2, 3, 4, 5, 6 | details |
| #9 | WRONG ANSWER | 0.00 s | 2, 3, 4, 5, 6 | details |
| #10 | WRONG ANSWER | 0.00 s | 3, 4, 5, 6 | details |
| #11 | WRONG ANSWER | 0.00 s | 3, 4, 5, 6 | details |
| #12 | WRONG ANSWER | 0.00 s | 3, 4, 5, 6 | details |
| #13 | WRONG ANSWER | 0.00 s | 3, 4, 5, 6 | details |
| #14 | WRONG ANSWER | 0.00 s | 4, 5, 6 | details |
| #15 | WRONG ANSWER | 0.00 s | 4, 5, 6 | details |
| #16 | WRONG ANSWER | 0.00 s | 4, 5, 6 | details |
| #17 | WRONG ANSWER | 0.00 s | 4, 5, 6 | details |
| #18 | WRONG ANSWER | 0.00 s | 5, 6 | details |
| #19 | WRONG ANSWER | 0.00 s | 5, 6 | details |
| #20 | WRONG ANSWER | 0.00 s | 5, 6 | details |
| #21 | WRONG ANSWER | 0.00 s | 5, 6 | details |
| #22 | WRONG ANSWER | 0.00 s | 6 | details |
| #23 | WRONG ANSWER | 0.00 s | 6 | details |
| #24 | WRONG ANSWER | 0.00 s | 6 | details |
| #25 | WRONG ANSWER | 0.00 s | 6 | details |
Compiler report
input/code.cpp: In function 'void search(bool, bool)':
input/code.cpp:31:32: warning: comparison of integer expressions of different signedness: 'std::unordered_set<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
31 | if(currentTypes.size() == typesN) ++result;
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
input/code.cpp:59:32: warning: comparison of integer expressions of different signedness: 'std::unordered_set<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
59 | if(currentTypes.size() == typesN) ++result;
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~Code
#include <bits/stdc++.h>
using namespace std;
vector<char> flowers {};
int typesN {};
int n {};
int currentPos {}, currentWidth {1}, currentHeight {1};
unordered_set<char> currentTypes {};
int result {};
void search(bool canRight, bool canDown)
{
if((currentPos + 1) % n != 0
&& canRight)
{
++currentWidth;
++currentPos;
unsigned int typesToRemove {};
for(int i {}; i < currentHeight; ++i)
if(!currentTypes.contains(flowers[currentPos - i]))
{
currentTypes.insert(flowers[currentPos - (n * i)]);
typesToRemove |= (1 << i);
}
if(currentTypes.size() == typesN) ++result;
search(true, currentHeight == 1);
for(int i {}; i < currentHeight; ++i)
if(typesToRemove&(1 << i))
currentTypes.erase(flowers[currentPos - (n * i)]);
--currentWidth;
--currentPos;
}
if((currentPos + n) < (n*n)
&& canDown)
{
++currentHeight;
currentPos += n;
unsigned int typesToRemove {};
for(int i {}; i < currentWidth; ++i)
{
if(!currentTypes.contains(flowers[currentPos - i]))
{
currentTypes.insert(flowers[currentPos - i]);
typesToRemove |= (1 << i);
}
}
if(currentTypes.size() == typesN) ++result;
search(false, true);
for(int i {}; i < currentWidth; ++i)
if(typesToRemove&(1<<i))
currentTypes.erase(flowers[currentPos - i]);
--currentHeight;
currentPos -= n;
}
}
int main()
{
istringstream is("10 DABABAABAB OCBABAABAB AABXBAABAB AABXBAAXAB AABXBADXOB AABXBADXAB AABXBADXAB AOBXBADXAB AABXBADXAB AABXBADXAB");
is >> n;
flowers.reserve(n*n);
unordered_set<char> types {};
for(int i {}; i < (n*n); ++i)
{
char c {};
is >> c;
flowers.push_back(c);
types.insert(c);
}
typesN = types.size();
vector<bool> ignore {};
ignore.reserve(n*n);
for(int i {}; i < (n*n); ++i)
{
if(typesN == 1) ++result;
if(ignore[i]) continue;
currentPos = i;
currentTypes.insert(flowers[currentPos]);
int startResult {result};
search(true, true);
if(startResult == result)
{
for(int j {i + 1}; j < (n*n); ++j)
{
if(ignore[j]) continue;
if((j % n) > (i % n)) ignore[j] = true;
}
}
currentTypes.erase(flowers[currentPos]);
}
cout << result;
return 0;
}Test details
Test 1
Group: 1, 2, 3, 4, 5, 6
Verdict: WRONG ANSWER
| input |
|---|
| 10 TNCTNPNTPC NPPNTNTPTP NTNTTCNTCT NPCPNPPNTT ... |
| correct output |
|---|
| 2035 |
| user output |
|---|
| 116 |
Test 2
Group: 1, 2, 3, 4, 5, 6
Verdict: WRONG ANSWER
| input |
|---|
| 10 NFWQLWNWYS DZOQJVXFPJ CNHXPXMCQD QRTBVNLTQC ... |
| correct output |
|---|
| 9 |
| user output |
|---|
| 116 |
Test 3
Group: 1, 2, 3, 4, 5, 6
Verdict: WRONG ANSWER
| input |
|---|
| 10 XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX ... |
| correct output |
|---|
| 3025 |
| user output |
|---|
| 116 |
Test 4
Group: 1, 2, 3, 4, 5, 6
Verdict: WRONG ANSWER
| input |
|---|
| 10 FFFFFFFFFF FFFFFCFFFF FFFFFFJFFF FFFFFFFFFF ... |
| correct output |
|---|
| 12 |
| user output |
|---|
| 116 |
Test 5
Group: 1, 2, 3, 4, 5, 6
Verdict: WRONG ANSWER
| input |
|---|
| 1 X |
| correct output |
|---|
| 1 |
| user output |
|---|
| 116 |
Test 6
Group: 2, 3, 4, 5, 6
Verdict: WRONG ANSWER
| input |
|---|
| 20 BBCBUBOUOBBCUUBBCOUO BOUCOOCUBCOOOCOBOCUO UCCUUUOBCOCBCBUBUCOO BUOBUCUCUOOBCOOUBUOO ... |
| correct output |
|---|
| 38724 |
| user output |
|---|
| 116 |
Test 7
Group: 2, 3, 4, 5, 6
Verdict: WRONG ANSWER
| input |
|---|
| 20 CBGLSHGZHYZDWBNDBJUG SMUXOJQYPXZDTMJUIWOJ XIDSTNBGHKRKOVUVMINB MTQGCFRUHQKALXRNCQGS ... |
| correct output |
|---|
| 8334 |
| user output |
|---|
| 116 |
Test 8
Group: 2, 3, 4, 5, 6
Verdict: WRONG ANSWER
| input |
|---|
| 20 KKKKKKKKKKKKKKKKKKKK KKKKKKKKKKKKKKKKKKKK KKKKKKKKKKKKKKKKKKKK KKKKKKKKKKKKKKKKKKKK ... |
| correct output |
|---|
| 44100 |
| user output |
|---|
| 116 |
Test 9
Group: 2, 3, 4, 5, 6
Verdict: WRONG ANSWER
| input |
|---|
| 20 AAAAAAAAXAAAAAAAAAAA AAAWAAAAAAAAAAAAAOAA AAAAAAAAAAAAAAAAAPAA AAAAAAAAKAAAAAAAAAAZ ... |
| correct output |
|---|
| 18 |
| user output |
|---|
| 116 |
Test 10
Group: 3, 4, 5, 6
Verdict: WRONG ANSWER
| input |
|---|
| 50 GRGREEEGREGXRXXEGXXREXGRRRGRRR... |
| correct output |
|---|
| 1584665 |
| user output |
|---|
| 116 |
Test 11
Group: 3, 4, 5, 6
Verdict: WRONG ANSWER
| input |
|---|
| 50 AITIISJUHCCRZNKSDCNQKYSQRINFWJ... |
| correct output |
|---|
| 1077746 |
| user output |
|---|
| 116 |
Test 12
Group: 3, 4, 5, 6
Verdict: WRONG ANSWER
| input |
|---|
| 50 OOOOOOOOOOOOOOOOOOOOOOOOOOOOOO... |
| correct output |
|---|
| 1625625 |
| user output |
|---|
| 116 |
Test 13
Group: 3, 4, 5, 6
Verdict: WRONG ANSWER
| input |
|---|
| 50 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF... |
| correct output |
|---|
| 1680 |
| user output |
|---|
| 116 |
Test 14
Group: 4, 5, 6
Verdict: WRONG ANSWER
| input |
|---|
| 100 NNCMDCDDCCNNNDNCMMNCDCDCCDCDNM... |
| correct output |
|---|
| 25325366 |
| user output |
|---|
| 116 |
Test 15
Group: 4, 5, 6
Verdict: WRONG ANSWER
| input |
|---|
| 100 LIMQQIHASECROEVILNVULGWZJPPKOG... |
| correct output |
|---|
| 22342463 |
| user output |
|---|
| 116 |
Test 16
Group: 4, 5, 6
Verdict: WRONG ANSWER
| input |
|---|
| 100 TTTTTTTTTTTTTTTTTTTTTTTTTTTTTT... |
| correct output |
|---|
| 25502500 |
| user output |
|---|
| 116 |
Test 17
Group: 4, 5, 6
Verdict: WRONG ANSWER
| input |
|---|
| 100 QXQQQQQQQQQQQQQQQQQQQQQQQQQQQQ... |
| correct output |
|---|
| 25650 |
| user output |
|---|
| 116 |
Test 18
Group: 5, 6
Verdict: WRONG ANSWER
| input |
|---|
| 200 NAANANMMKNKKAKMKMAKNKMNKMMNNAA... |
| correct output |
|---|
| 403292767 |
| user output |
|---|
| 116 |
Test 19
Group: 5, 6
Verdict: WRONG ANSWER
| input |
|---|
| 200 OMYWATTLURKQPTKEFMGGYAOONXWVSC... |
| correct output |
|---|
| 388111321 |
| user output |
|---|
| 116 |
Test 20
Group: 5, 6
Verdict: WRONG ANSWER
| input |
|---|
| 200 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC... |
| correct output |
|---|
| 404010000 |
| user output |
|---|
| 116 |
Test 21
Group: 5, 6
Verdict: WRONG ANSWER
| input |
|---|
| 200 LLLLLLLLLLLLLLLLLHLLLLLLLLLLLL... |
| correct output |
|---|
| 14159445 |
| user output |
|---|
| 116 |
Test 22
Group: 6
Verdict: WRONG ANSWER
| input |
|---|
| 500 VVHWVUHVHUWWWVUUUWVUUHUUWHWUVW... |
| correct output |
|---|
| 15683003812 |
| user output |
|---|
| 116 |
Test 23
Group: 6
Verdict: WRONG ANSWER
| input |
|---|
| 500 OIMZGEQSBMBDSDXSWRFNKSGFEBBTJE... |
| correct output |
|---|
| 15575906951 |
| user output |
|---|
| 116 |
Test 24
Group: 6
Verdict: WRONG ANSWER
| input |
|---|
| 500 IIIIIIIIIIIIIIIIIIIIIIIIIIIIII... |
| correct output |
|---|
| 15687562500 |
| user output |
|---|
| 116 |
Test 25
Group: 6
Verdict: WRONG ANSWER
| input |
|---|
| 500 WWWWWWWWWWWWWWWWWWWWWWWWWWWWWW... |
| correct output |
|---|
| 3058970930 |
| user output |
|---|
| 116 |
