QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#357640#403. Memory2new_acc2100 ✓8ms4024kbC++143.0kb2024-03-19 04:29:142024-03-19 04:29:15

Judging History

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

  • [2024-03-19 04:29:15]
  • 评测
  • 测评结果:100
  • 用时:8ms
  • 内存:4024kb
  • [2024-03-19 04:29:14]
  • 提交

answer

#include "Memory2_lib.h"
#include<bits/stdc++.h>
#define fi first
#define se second
using namespace std;
typedef vector<int> vi;
map<pair<int,int>,int> m;
int li;
void upd(vi curr){
    vi v;
    for(int i=0;i<curr.size();i++){
        int n1=curr[(i+1)%curr.size()],akt=curr[i];
        if(!(m.count(make_pair(akt,n1)))){
            m[make_pair(akt,n1)]=Flip(akt,n1);
            m[make_pair(n1,akt)]=m[make_pair(akt,n1)];
            //li++;
        }
    }
}
void Solve(int T, int n){
    m.clear();
    vi curr;
    for(int i=0;i<n*2;i++) curr.push_back(i);
    for(int i=0;i<n-1;i++){
        //cout<<i<<"\n";
        upd(curr);
        bool zn=0;
        vi curr2;
        for(int i2=0;i2<curr.size();i2++){
            for(int i3=i2+1;i3<curr.size();i3++){
                if(zn) continue;
                int xd=-1;
                //if(curr.size()<8) xd=Flip(curr[i2],curr[i3]);
                bool ok=1;
                for(int i4=-1;i4<=1;i4++){
                    if(i4==0) continue;
                    int prv=curr[(i2+i4+curr.size())%curr.size()];
                    if(xd==-1) xd=m[make_pair(prv,curr[i2])];
                    if(xd!=m[make_pair(prv,curr[i2])]) ok=0;
                }
                for(int i4=-1;i4<=1;i4++){
                    if(i4==0) continue;
                    int prv=curr[(i3+i4+curr.size())%curr.size()];
                    if(xd!=m[make_pair(prv,curr[i3])]) ok=0;
                }
                if(!ok) continue;
                pair<int,int> r={i2,i3};
                if(i2==i3-1){
                    if(Flip(curr[i2],curr[(i3+1)%curr.size()])!=xd){
                        r.fi--;
                    }
                    if(Flip(curr[i3],curr[(i2-1+curr.size())%curr.size()])!=xd){
                        r.se++;
                    }
                }else{
                    if(i2==0 and i3==curr.size()-1){
                        if(Flip(curr[i2],curr[(i3-1+curr.size())%curr.size()])!=xd){
                            r.fi++;
                        }
                        if(Flip(curr[i3],curr[(i2+1+curr.size())%curr.size()])!=xd){
                            r.se--;
                        }
                    }else{
                        if(Flip(curr[i2],curr[(i3-1+curr.size())%curr.size()])!=xd){
                            r.fi--;
                        }
                        if(Flip(curr[i3],curr[(i2+1+curr.size())%curr.size()])!=xd){
                            r.se++;
                        }
                    }
                }
                r.fi+=curr.size(),r.se+=curr.size();
                r.fi%=curr.size(),r.se%=curr.size();
                Answer(curr[r.fi],curr[r.se],xd); 
                for(int i4=0;i4<curr.size();i4++){
                    if(i4!=r.fi and i4!=r.se) curr2.push_back(curr[i4]);
                }
                zn=1;
            }
        }
        curr=curr2;
    } 
    Answer(curr[0],curr[1],Flip(curr[0],curr[1]));
}

Details

Subtask #1:

score: 10
Accepted

Test #1:

score: 10
Accepted
time: 1ms
memory: 4012kb

Test #2:

score: 0
Accepted
time: 3ms
memory: 3780kb

Test #3:

score: 0
Accepted
time: 5ms
memory: 3732kb

Test #4:

score: 0
Accepted
time: 4ms
memory: 3728kb

Test #5:

score: 0
Accepted
time: 3ms
memory: 3748kb

Test #6:

score: 0
Accepted
time: 5ms
memory: 3764kb

Test #7:

score: 0
Accepted
time: 0ms
memory: 3748kb

Test #8:

score: 0
Accepted
time: 5ms
memory: 3788kb

Subtask #2:

score: 50
Accepted

Test #9:

score: 50
Accepted
time: 3ms
memory: 3740kb

Test #10:

score: 0
Accepted
time: 4ms
memory: 3832kb

Test #11:

score: 0
Accepted
time: 4ms
memory: 3764kb

Test #12:

score: 0
Accepted
time: 2ms
memory: 3780kb

Test #13:

score: 0
Accepted
time: 4ms
memory: 3688kb

Test #14:

score: 0
Accepted
time: 4ms
memory: 3764kb

Test #15:

score: 0
Accepted
time: 4ms
memory: 3760kb

Test #16:

score: 0
Accepted
time: 6ms
memory: 4024kb

Test #17:

score: 0
Accepted
time: 7ms
memory: 3732kb

Test #18:

score: 0
Accepted
time: 8ms
memory: 3988kb

Subtask #3:

score: 40
Accepted

Test #19:

score: 40
Accepted
time: 4ms
memory: 3740kb

Test #20:

score: 0
Accepted
time: 4ms
memory: 4016kb

Test #21:

score: 0
Accepted
time: 0ms
memory: 3688kb

Test #22:

score: 0
Accepted
time: 4ms
memory: 3828kb

Test #23:

score: 0
Accepted
time: 4ms
memory: 4024kb

Test #24:

score: 0
Accepted
time: 4ms
memory: 3692kb

Test #25:

score: 0
Accepted
time: 4ms
memory: 3780kb

Test #26:

score: 0
Accepted
time: 6ms
memory: 3828kb

Test #27:

score: 0
Accepted
time: 0ms
memory: 3688kb

Test #28:

score: 0
Accepted
time: 8ms
memory: 3776kb

Extra Test:

score: 0
Extra Test Passed