Submission #944669

# Submission time Handle Problem Language Result Execution time Memory
944669 2024-03-13T02:52:01 Z yhkhoo Chameleon's Love (JOI20_chameleon) C++17
40 / 100
16 ms 480 KB
#include "chameleon.h"
#include <bits/stdc++.h>
using namespace std;

/* 
 * ladies and gentlemen
 * your attention please
 * the fire alarm has been activated in the building
 * we are investigating the situation
 * please remain calm and standby for further instruction
 * thank you
 * 
 * ladies and gentlemen
 * the emergency situation in the building is now under control
 * we regret any inconvenience caused
 * thank you
 */

void Solve(int N) {
    vector<int> l(N, -1), c(N, -1);
    vector<vector<int>> hm(2*N+1);
    for(int i=1; i<=2*N; i++){
        for(int j=1; j<=2*N; j++){
            if(j==i) continue;
            vector<int> s1 = {i, j};
            if(Query(s1) == 1){
                hm[i].push_back(j);
            }
        }
    }
    unordered_set<int> ad;
	vector<vector<int>> cringe(2*N+1);
    for(int i=1; i<=2*N; i++){
        if(hm[i].size() == 0) continue;
        if(hm[i].size() == 1){
			//if(ad.count(i) || ad.count(hm[i].front())) continue;
            Answer(i, hm[i].front());
            hm[hm[i].front()].clear();
            ad.insert(i);
            ad.insert(hm[i].front());
        }
        else{
            for(int j=0; j<hm[i].size(); j++){
                vector<int> s2;
                for(int k=0; k<hm[i].size(); k++){
					if(k==j) continue;
					s2.push_back(hm[i][k]);
				}
				s2.push_back(i);
				if(Query(s2) == 1){
					cringe[hm[i][j]].push_back(i);
					cringe[i].push_back(hm[i][j]);
				}
			}
		}
	}
	for(int i=1; i<=2*N; i++){
		if(hm[i].size() == 3){
			for(int j=0; j<3; j++){
				if(!count(cringe[i].begin(), cringe[i].end(), hm[i][j])){
					if(ad.count(i) || ad.count(hm[i][j])) continue;
					Answer(i, hm[i][j]);
					ad.insert(i);
					ad.insert(hm[i][j]);
				}
			}
		}
	}
}

Compilation message

chameleon.cpp: In function 'void Solve(int)':
chameleon.cpp:43:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   43 |             for(int j=0; j<hm[i].size(); j++){
      |                          ~^~~~~~~~~~~~~
chameleon.cpp:45:31: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   45 |                 for(int k=0; k<hm[i].size(); k++){
      |                              ~^~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 344 KB Output is correct
2 Correct 1 ms 344 KB Output is correct
3 Incorrect 15 ms 480 KB Wrong Answer [3]
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 1 ms 344 KB Output is correct
3 Correct 0 ms 344 KB Output is correct
4 Correct 0 ms 344 KB Output is correct
5 Correct 0 ms 344 KB Output is correct
6 Correct 0 ms 344 KB Output is correct
7 Correct 0 ms 344 KB Output is correct
8 Correct 0 ms 344 KB Output is correct
9 Correct 0 ms 344 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 1 ms 344 KB Output is correct
3 Correct 0 ms 344 KB Output is correct
4 Correct 0 ms 344 KB Output is correct
5 Correct 0 ms 344 KB Output is correct
6 Correct 0 ms 344 KB Output is correct
7 Correct 0 ms 344 KB Output is correct
8 Correct 0 ms 344 KB Output is correct
9 Correct 0 ms 344 KB Output is correct
10 Correct 2 ms 344 KB Output is correct
11 Correct 2 ms 344 KB Output is correct
12 Correct 2 ms 344 KB Output is correct
13 Correct 2 ms 344 KB Output is correct
14 Correct 2 ms 344 KB Output is correct
15 Correct 2 ms 344 KB Output is correct
16 Correct 2 ms 344 KB Output is correct
17 Correct 2 ms 344 KB Output is correct
18 Correct 2 ms 344 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Incorrect 16 ms 480 KB Wrong Answer [3]
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 344 KB Output is correct
2 Correct 1 ms 344 KB Output is correct
3 Incorrect 15 ms 480 KB Wrong Answer [3]
4 Halted 0 ms 0 KB -