| Task: | Hamilton |
| Sender: | RKondratavicius |
| Submission time: | 2026-04-17 13:19:46 +0300 |
| Language: | C++ (C++20) |
| Status: | READY |
| Result: | 12 |
| subtask | verdict | score |
|---|---|---|
| #1 | ACCEPTED | 5 |
| #2 | ACCEPTED | 7 |
| #3 | WRONG ANSWER | 0 |
| #4 | WRONG ANSWER | 0 |
| test | verdict | time | score | subtask | |
|---|---|---|---|---|---|
| #1 | ACCEPTED | 0.01 s | 100 | details | |
| #2 | ACCEPTED | 0.04 s | 100 | 1 | details |
| #3 | ACCEPTED | 6.66 s | 0 | 2, 3 | details |
| #4 | WRONG ANSWER | 0.32 s | 0 | 4 | details |
Code
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n, t;
cin >> n >> t;
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
{
if(((j > i) && (j!=n-1 || i!=0)) || (i==n-1 && j == 0))
cout << "1 ";
else cout << "0 ";
}
cout << endl;
}
while(t--)
{
bool kaip[n][n];
for(int i=0; i<n; i++)
{
for(int j=i+1; j<n; j++)
{
cout << "? " << i+1 << ' ' << j+1 << endl;
char kas;
cin >> kas;
if(kas == '<') kaip[i][j] = 1; /// 1 - pirmas didesnis
else kaip[i][j] = 0; /// 0 - antras didesnis
}
}
int kiek[n];
fill(kiek, kiek+n, 0);
for(int i=0; i<n; i++)
{
for(int j=i+1; j<n; j++)
{
if(kaip[i][j])
{
kiek[i]++;
}
else
{
kiek[j]++;
}
}
}
int vienas[2] = {-1, -1}, bevieno[2] = {-1, -1};
for(int i=0; i<n; i++)
{
if(kiek[i]==1)
{
if(vienas[0]==-1)
vienas[0] = i;
else vienas[1] = i;
}
if(kiek[i]==n-2)
{
if(bevieno[0]==-1)
bevieno[0] = i;
else bevieno[1] = i;
}
}
int tvarka[n];
if(kaip[vienas[0]][vienas[1]]) /// kelias is antro i pirma
{
tvarka[0] = vienas[1];
tvarka[1] = vienas[0];
}
else
{
tvarka[1] = vienas[1];
tvarka[0] = vienas[0];
}
if(kaip[bevieno[0]][bevieno[1]]) /// kelias is antro i pirma
{
tvarka[n-1] = bevieno[0];
tvarka[n-2] = bevieno[1];
}
else
{
tvarka[n-2] = bevieno[0];
tvarka[n-1] = bevieno[1];
}
for(int i = 0; i<n; i++)
{
if(kiek[i]!=1 && kiek[i]!=n-2)
{
tvarka[kiek[i]] = i;
}
}
cout << "! ";
for(int i:tvarka) cout << i+1 << ' ';
cout << endl;
}
return 0;
}
Test details
Test 1
Subtask:
Verdict: ACCEPTED
| input |
|---|
| 0 5 2 fixed 1 2 3 4 5 2 4 1 5 ... |
| correct output |
|---|
| (empty) |
| user output |
|---|
| Activating encoder mode 5 2 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 ... |
Feedback: Q = 10.000000
Test 2
Subtask: 1
Verdict: ACCEPTED
| input |
|---|
| 01 4 200 rnd |
| correct output |
|---|
| (empty) |
| user output |
|---|
| Activating encoder mode 4 200 0 1 1 0 0 0 1 1 0 0 0 1 ... |
Feedback: Q = 6.000000
Test 3
Subtask: 2, 3
Verdict: ACCEPTED
| input |
|---|
| 02 50 200 rnd |
| correct output |
|---|
| (empty) |
| user output |
|---|
| Activating encoder mode 50 200 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ... |
Feedback: Q = 1225.000000
Test 4
Subtask: 4
Verdict: WRONG ANSWER
| input |
|---|
| 03 500 200 rnd |
| correct output |
|---|
| (empty) |
| user output |
|---|
| Activating encoder mode 500 200 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ... |
Feedback: Case #1: Too many queries
