QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#511293#5450. 比赛Rafi22#0 2ms4420kbC++142.1kb2024-08-09 18:32:092024-08-09 18:32:09

Judging History

你现在查看的是最新测评结果

  • [2024-08-09 18:32:09]
  • 评测
  • 测评结果:0
  • 用时:2ms
  • 内存:4420kb
  • [2024-08-09 18:32:09]
  • 提交

answer

#include <bits/stdc++.h>

using namespace std;

#ifdef DEBUG
auto&operator<<(auto&o,pair<auto,auto>p){return o<<"("<<p.first<<", "<<p.second<<")";}
auto operator<<(auto&o,auto x)->decltype(x.end(),o){o<<"{";int i=0;for(auto e:x)o<<","+!i++<<e;return o<<"}";}
#define debug(X...)cerr<<"["#X"]: ",[](auto...$){((cerr<<$<<"; "),...)<<endl;}(X)
#else
#define debug(...){}
#endif

#define ll long long
#define ld long double
#define endl '\n'
#define st first
#define nd second
#define pb push_back
#define sz(x) (int)(x).size()
#define all(x) (x).begin(), (x).end()
#define FOR(i,l,r) for(int i=(l);i<=(r);i++)
#define ROF(i,r,l) for(int i=(r);i>=(l);i--)
int inf=1000000007;
ll infl=1000000000000000007;
ll mod=1000000007;
ll mod1=998244353;

const int N=2007;

int ile[N];
bool is[N][N];
int xd[N];
bool odw[N];

int main()
{
    int tt;
    cin>>tt;
    while(tt--)
    {
        int n,m;
        cin>>n>>m;
        bool ok=1;
        FOR(i,1,m)
        {
            cin>>ile[i];
            if(ile[i]>2*n/3) ok=0;
            FOR(j,1,ile[i])
            {
                int x;
                cin>>x;
                is[x][i]=1;
            }
        }
        if(ok)
        {
            FOR(k,1,n)
            {
                int mx=0,p=0;
                vector<pair<int,int>>V;
                FOR(i,1,n) if(ile[i]>ile[p]) p=i;
                int t=-1;
                FOR(i,1,n)
                {
                    if(odw[i]) continue;
                    if(p!=0&&k>=3&&xd[k-1]==p&&xd[k-2]==p)
                    {
                        if(!is[i][p]) t=i;
                    }
                    else if(is[i][p]||p==0) t=i;
                }
                cout<<t<<" ";
                odw[t]=1;
                if(is[t][p]) xd[k]=p;
                FOR(j,1,m)
                {
                    if(is[t][j]) ile[j]--;
                    is[t][j]=0;
                }
            }
            cout<<endl;
        }
        else cout<<-1<<endl;
        FOR(i,1,n)
        {
            odw[i]=0;
            xd[i]=0;
        }
    }
    return 0;
}







Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 0
Wrong Answer

Test #1:

score: 0
Wrong Answer
time: 0ms
memory: 3628kb

input:

248
9 3
3 3 4 5
3 1 2 3
4 6 7 8 9
8 1
4 3 4 5 6
9 2
5 1 2 3 4 5
3 6 7 8
6 1
4 3 4 5 6
7 2
3 3 4 5
3 1 2 3
9 3
4 1 2 3 4
3 4 5 6
3 6 7 8
7 1
4 4 5 6 7
8 2
3 6 7 8
3 2 3 4
8 2
4 1 2 3 4
4 4 5 6 7
3 0
9 3
3 2 3 4
3 7 8 9
3 4 5 6
6 1
5 1 2 3 4 5
9 2
4 1 2 3 4
3 6 7 8
9 3
3 6 7 8
3 3 4 5
3 1 2 3
8 1
8 1 ...

output:

9 5 3 8 2 7 4 1 6 
6 5 8 4 3 7 2 1 
5 4 9 3 8 2 7 1 6 
6 5 2 4 3 1 
5 3 2 4 1 7 6 
4 3 8 2 6 1 5 7 9 
7 6 3 5 4 2 1 
8 4 7 3 6 2 5 1 
4 3 7 2 6 1 5 8 
3 2 1 
4 9 3 8 6 2 7 5 1 
-1
5 4 8 3 7 2 6 9 1 
8 5 3 7 2 6 4 1 9 
-1
-1
8 7 5 4 6 3 2 1 
8 7 9 6 5 2 4 3 1 
7 6 8 5 4 3 2 1 
9 8 3 7 6 4 2 5 1 
5 4 ...

result:

wrong answer [testcase 17] p[6] = 3, p[7] = 2, p[8] = 1 are in the same group #1.

Subtask #2:

score: 0
Skipped

Dependency #1:

0%

Subtask #3:

score: 0
Skipped

Dependency #1:

0%

Subtask #4:

score: 0
Wrong Answer

Test #25:

score: 0
Wrong Answer
time: 2ms
memory: 4420kb

input:

5
400 1
266 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 ...

output:

266 265 400 264 263 399 262 261 398 260 259 397 258 257 396 256 255 395 254 253 394 252 251 393 250 249 392 248 247 391 246 245 390 244 243 389 242 241 388 240 239 387 238 237 386 236 235 385 234 233 384 232 231 383 230 229 382 228 227 381 226 225 380 224 223 379 222 221 378 220 219 377 218 217 376 ...

result:

wrong answer [testcase 3] p[397] = 3, p[398] = 2, p[399] = 1 are in the same group #1.

Subtask #5:

score: 0
Wrong Answer

Test #36:

score: 0
Wrong Answer
time: 2ms
memory: 4360kb

input:

5
400 1
266 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 ...

output:

266 265 400 264 263 399 262 261 398 260 259 397 258 257 396 256 255 395 254 253 394 252 251 393 250 249 392 248 247 391 246 245 390 244 243 389 242 241 388 240 239 387 238 237 386 236 235 385 234 233 384 232 231 383 230 229 382 228 227 381 226 225 380 224 223 379 222 221 378 220 219 377 218 217 376 ...

result:

wrong answer [testcase 3] p[397] = 3, p[398] = 2, p[399] = 1 are in the same group #1.

Subtask #6:

score: 0
Skipped

Dependency #1:

0%

Subtask #7:

score: 0
Skipped

Dependency #4:

0%

Subtask #8:

score: 0
Skipped

Dependency #5:

0%

Subtask #9:

score: 0
Skipped

Dependency #1:

0%