这里提供了洛谷某些题的$special\ judge$,供需要的oier拿过去对拍.

1.P3825

#include "testlib.h"

using namespace std;

int n,d;
char num[];
int m;
char ans1[];
int pi,pj,hi,hj;
char opt;
char opt1,opt2;
int main(int argc ,char* argv[]) {
registerTestlibCmd(argc,argv);
n=inf.readInt();
d=inf.readInt();
for(int i=;i<=n;i++) {
while(opt!='x'&&opt!='c'&&opt!='a'&&opt!='b') opt=inf.readChar();
num[i]=opt;
opt=;
}
opt=ans.readChar();
if(opt=='-') {
opt1=ouf.readChar();
if(opt1!='-') quitf(_wa, "On line 1 column 1, read %c, expected -1 . score:QAQ", opt1 );
opt2=ouf.readChar();
if(opt2!='') quitf(_wa, "On line 1 column 2, read %c, expected 1 . score:QWQ", opt2 );
ouf.readEof();
quitf(_ok, "congrdulation Accept answer is -1 score:pwp");
}
opt=;
for(int i=;i<=n;i++) {
opt=ouf.readChar();
if(opt!='A'&&opt!='B'&&opt!='C') quitf(_wa, "On line 1 column %d, read %c, expected A or B or C . score:qwq", i , opt );
ans1[i]=opt;
if(ans1[i]-'A'+'a'==num[i]&&num[i]!='x') quitf(_wa, "On line 1 column %d, unexpect %c, \n the car cannot run in this map . \n score:qaq", i , opt );
opt=;
}
m=inf.readInt();
for(int i=;i<=m;i++) {
opt1=opt2=;
pi=inf.readInt();
while(opt1!='A'&&opt1!='B'&&opt1!='C') opt1=inf.readChar();
pj=inf.readInt();
while(opt2!='A'&&opt2!='B'&&opt2!='C') opt2=inf.readChar();
if(ans1[pi]==opt1&&ans1[pj]!=opt2) quitf(_wa, "cannot accept the limit %d , unexpect %c in map %d score:pvp", i , ans1[pj] ,pj );
}
ouf.readEof();
quitf(_ok, " perfect answer score: qvq" );
return ;
}

P3825

2.P3506

#include "testlib.h"
using namespace std;
//testdata.in
int n,k;
int a[];
char s[];
//testdata.out
int len;
//users.out
int l;int pos;
int num[];
int main(int argc,char *argv[]){
registerTestlibCmd(argc,argv);
n=inf.readInt();
k=inf.readInt();
for(int i=;i<=n;i++) a[i]=inf.readInt();
for(int i=;i<=k;i++) {
s[i]=;
while(s[i]!='>'&&s[i]!='<'&&s[i]!='=')
s[i]=inf.readChar();
}
len=ans.readInt();
l=ouf.readInt();
if(l<len) quitf(_wa,"your answer is smaller than the standard output,expect %d found %d.score:qaq",len,l);
for(int i=;i<=l;i++) {
num[i]=ouf.readInt();
while(a[pos]!=num[i]) {
pos++;
if(pos>n) quitf(_wa,"your sloution isn't a Subsequence of the input,in %d.score:pvp.",i);
}
}
for(int i=;i<l;i++) {
char opt=s[(i-)%k+];
if(opt=='>') {
if(num[i]<=num[i+]) quitf(_wa,"your answer cannot satisfy the condition in %d.score:ovo",i);
}
else if(opt=='<') {
if(num[i]>=num[i+]) quitf(_wa,"your answer cannot satisfy the condition in %d.score:ovo",i);
}
else if(opt=='=') {
if(num[i]!=num[i+]) quitf(_wa,"your answer cannot satisfy the condition in %d.score:ovo",i);
}
}
quitf(_ok,"the answer is correct.score:qwq");
return ;
}

P3506

3.P3493

#include "testlib.h"
using namespace std;
double ous,anf;
int main(int argc,char *argv[]){
registerTestlibCmd(argc,argv);
ous=ouf.readReal();
anf=ans.readReal();
if(abs(ous-anf)<=0.001) {
quitf(_ok,"ok the answer is correct ");
}
else quitf(_wa,"wrong answer found %lf , expect %lf +-0.01",ous,anf);
return ;
}

P3493

4.P3478

#include "testlib.h"
using namespace std;
struct data{
int v;int next;
}edge[];
int alist[];
int cnt;
void add(int u,int v){
edge[++cnt].v=v;
edge[cnt].next=alist[u];
alist[u]=cnt;
return ;
}
int dep[];
long long anss;
long long uout;
int n;
int u,v;
int sroot,uroot;
void dfs(int fa,int x,int de){
dep[x]=de;
for(int nxt=alist[x];nxt;nxt=edge[nxt].next) {
if(edge[nxt].v==fa) continue;
dfs(x,edge[nxt].v,de+);
}
return ;
}
int main(int argc, char *argv[]){
registerTestlibCmd(argc, argv);
n=inf.readInt();
for(int i=;i<n;i++){
u=inf.readInt();
v=inf.readInt();
add(u,v),add(v,u);
}
sroot=ans.readInt();
dfs(,sroot,);
for(int i=;i<=n;i++) anss+=dep[i];
memset(dep,,sizeof(dep));
uroot=ouf.readInt(,n);
dfs(,uroot,);
for(int i=;i<=n;i++) uout+=dep[i];
if(anss>uout) quitf(_wa, "Your answer is less than the correct answer,found %d,expect %d ,score:qwq", uout, anss);
else if(anss==uout) quitf(_ok, "your answer is correct (ying ying ying) ,score:qaq" );
else if(anss<uout) quitp(2.0, "the spj or the data has been attacked ,please connect kkksc03 to fix the data or spj ,score:QAQ" );
return ;
}

P3478

5.P3474

#include "testlib.h"
using namespace std;
long long mp[][];
int n;
long long k,now;
int yy1,xx1,yy2,xx2;
char opt;
int main(int argc,char *argv[]){
registerTestlibCmd(argc,argv);
k=inf.readLong();
n=inf.readInt();
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
mp[i][j]=inf.readLong();
opt=ans.readChar();
if(opt=='N'){
opt=ouf.readChar();
if(opt!='N') quitf(_wa,"wrong answer ,expect NIE,found %c,score:qwq",opt);
opt=ouf.readChar();
if(opt!='I') quitp(0.2,"wrong answer ,expect IE,found %c,score:qwq",opt);
opt=ouf.readChar();
if(opt!='E') quitp(0.6,"wrong answer ,expect E,found %c,score:qwq",opt);
quitf(_ok,"correct answer ,score:pwp");
}
yy1=ouf.readInt();
xx1=ouf.readInt();
yy2=ouf.readInt();
xx2=ouf.readInt();
for(int i=xx1;i<=xx2;i++)
for(int j=yy1;j<=yy2;j++){
now+=mp[i][j];
}
if(now>*k) quitf(_wa,"your sloution is lager than 2*k.score:pvp");
if(now<k) quitf(_wa,"your sloution is less than k.score:qvq");
quitf(_ok,"ok,correct! score:qaq");
return ;
}

P3474

6.P3022

#include "testlib.h"
using namespace std;
struct data{
int u;int v;
}edge[];
int cnt;
void add(int u,int v){
edge[++cnt].u=u;
edge[cnt].v=v;
return ;
}
int n,m;
int u,v;
int now;
int d[];
bool ins[];
int usr;int anf;
int main(int argc,char* argv[]) {
registerTestlibCmd(argc,argv);
n=inf.readInt();
m=inf.readInt();
// printf("%d %d\n",n,m);
for(int i=;i<=m;i++) {
u=inf.readInt();
v=inf.readInt();
add(u,v);
// printf("%d %d\n",u,v);
}
anf=ans.readInt();
usr=ouf.readInt();
// printf("%d %d\n",anf,usr);
if(anf==-){
if(usr==-) quitf(_ok,"the answer is -1 . score:qaq");
else quitf(_wa,"wa……expect -1 found %d . score:qwq",usr);
}
for(int i=;i<=usr;i++){
now=ouf.readInt(,m);
if(ins[now]==true) quitf(_wa,"your sloution has been retain the edge %d before the operation %d/%d.score: qvq",now,i,usr);
ins[now]=true;
d[edge[now].u]++,d[edge[now].v]++;
}
for(int i=;i<=n;i++) {
if(!d[i]&) quitf(_wa,"the degrees of the point %d isn't an odd ,is %d .score:pvp",i,d[i]);
}
quitf(_ok,"the answer is correct"); return ;
}

P3022

7.P2164

#include "testlib.h"
using namespace std;
const double eps = 0.1;
int n,m;
double a1,a2;
int main(int argc, char *argv[]){
registerTestlibCmd(argc, argv);
n=inf.readInt();
m=inf.readInt();
for(int i=;i<=m;i++) {
a1=ans.readDouble();
a2=ouf.readDouble();
if(abs(a1-a2)>eps) quitf(_wa,"wrong answer on line %d.score:qaq",i);
}
quitf(_ok,"correct answer.score:qwq");
return ;
}

P2164

8.P1871

#include "testlib.h"
//#include <iostream>
using namespace std;
string pos[]={"Success","Already","Conflict","on","with","off"};
int n,m;bool ins[];char opt;int now;//题解部分
int a,b,c;int lst;//多解检验部分
string ous;int cnt;//选手输出部分
string anf;//标准答案部分
int main(int argc,char *argv[])
{
registerTestlibCmd(argc,argv);
n=inf.readInt();m=inf.readInt();
for(int i=;i<=m;i++){
opt=;
while(opt!='-'&&opt!='+') opt=inf.readChar();
now=inf.readInt();
if(opt=='+') {
anf=ans.readToken();ous=ouf.readToken();
// cout<<anf<<endl<<ous<<endl;
if(anf!=ous) quitf(_wa,"wrong answer on operation %d .score:qaq",i);
if(anf==pos[]) ins[now]=true;
else if(anf==pos[]) {
anf=ans.readToken();ous=ouf.readToken();
if(ous!=anf) quitp(0.2,"wrong answer on operation %d,expect on.score:qoq",i);
}
else if(anf==pos[]) {
anf=ans.readToken();ous=ouf.readToken();
if(anf!=ous) quitp(0.2,"wrong answer on operation %d,expect with .score:qoq",i);
cnt=ans.readInt();cnt=ouf.readInt(,n);
if(ins[cnt]!=true) {
quitf(_wa,"on operation %d,the machin %d hasn't been opened .score:qwq",i,cnt);
}
if(__gcd(cnt,now)==){
quitf(_wa,"on operation %d,the machin %d(opened) and the %d(will be opened) are not Conflict,score:pwp",i,cnt,now);
}
}
}
if(opt=='-') {
anf=ans.readToken();ous=ouf.readToken();
if(anf!=ous) quitf(_wa,"wrong answer on operation %d.score:qaq",i);
if(anf==pos[]) ins[now]=false;
if(anf==pos[]) {
anf=ans.readToken();ous=ouf.readToken();
if(anf!=ous) quitp(0.2,"wrong answer on operation %d,expect off.score:qoq",i);
}
}
}
quitf(_ok,"ok,correct answer");
return ;
}

P1871

9.P1248

#include "testlib.h"

using namespace std;
int n;
int a[];
int b[];
int sans;int uans;
int num[];
bool ins[];
int now_a;int now_b;
int now_ans;
int main(int argc ,char* argv[]) {
registerTestlibCmd(argc,argv);
n=inf.readInt();
for(int i=;i<=n;i++) a[i]=inf.readInt();
for(int i=;i<=n;i++) b[i]=inf.readInt();
sans=ans.readInt();
uans=ouf.readInt();
if(sans!=uans) {
quitf(_wa, "wrong answer On line 1 column 1, read %d, expected %d. score:qwq", uans, sans);
}
for(int i=;i<=n;i++) num[i]=ouf.readInt(,n),ins[num[i]]=true;
for(int i=;i<=n;i++) if(!ins[i]) quitf(_wa, "your solution cannot slove the product %d.score:qaq",i);
for(int i=;i<=n;i++) {
int now=now_a+a[num[i]];
if(now>now_b) now_b=now+b[num[i]];
else now_b=now_b+b[num[i]];
now_a+=a[num[i]];
}
now_ans=max(now_a,now_b);
if(now_ans==uans) quitf(_ok, "The answer is correct.");
else if(now_ans<uans) quitp( 0.5 , "your sloution is smaller than your min time score:QAQ");
else quitf(_wa, "your sloution is bigger than your min time score:QWQ");
return ;
}

P1248

10.P4293

#include "testlib.h"
using namespace std;
const int maxn = ;
int n;
double m[maxn],c[maxn];
bool oc[maxn];
void rdin(){
n=inf.readInt();
for(int i=;i<=n;i++) {
m[i]=inf.readReal();
c[i]=inf.readReal();
}
return ;
}
double calc ( int a , int b ) { return m[a] * m[b] * ( c[a] - c[b] ) ; }
double cb,ck;
bool idok ( int x ) { return ( x >= and x <= n ); }
void rdout(){
int a,b;a=ouf.readInt();b=ouf.readInt();
if( idok(a) && idok(b) && a != b ) cb = calc( a , b );
else cb = - ; ck = ;
int k,pr;k=ouf.readInt();memset(oc,,sizeof(oc));pr=ouf.readInt();
if(!idok(pr)) { ck = - ; return ;}
oc[pr] = true;
int fr = pr;
int r1a = -, r1b = -, r2a = -, r2b = -;
for(int i=;i<k;i++) {
int x;x=ouf.readInt();
if( !idok(x) || oc[x] ) { ck = - ; return ;}
oc[x]=true;
double tmpc = calc( pr ,x );
ck += tmpc;
if(tmpc < ) {
if (r1a == -) r1a = r1b = i;
else if (i == r1b + ) r1b = i;
else if (r2a == -) r2a = r2b = i;
else if (i == r2b + ) r2b = i;
else { ck = -; return ; }
}
pr = x;
}
ck += calc(pr , fr );
if (r2b == k- && r1a == ) ;
else if (r2a != - ) ck = - ;
return ;
}
void rdas(){
int a,b;a=ans.readInt();b=ans.readInt();
if( idok(a) && idok(b) && a != b ) cb = calc( a , b );
else cb = - ; ck = ;
int k,pr;k=ans.readInt();memset(oc,,sizeof(oc));pr=ans.readInt();
if(!idok(pr)) { ck = - ; return ;}
oc[pr] = true;
int fr = pr;
int r1a = -, r1b = -, r2a = -, r2b = -;
for(int i=;i<k;i++) {
int x;x=ans.readInt();
if( !idok(x) || oc[x] ) { ck = - ; return ;}
oc[x]=true;
double tmpc = calc( pr ,x );
ck += tmpc;
if(tmpc < ) {
if (r1a == -) r1a = r1b = i;
else if (i == r1b + ) r1b = i;
else if (r2a == -) r2a = r2b = i;
else if (i == r2b + ) r2b = i;
else { ck = -; return ; }
}
pr = x;
}
ck += calc(pr , fr );
if (r2b == k- && r1a == ) ;
else if (r2a != - ) ck = - ;
return ;
}
double cb_ans,ck_ans;
void rdans() {
rdas();
cb_ans = cb;
ck_ans = ck;
}
const double eps = 1e-;
bool ok ( double r , double e) {
if( r >= e - eps) return true;
if( r/e >= - eps) return true;
return false;
}
void processout() {
rdout();
int t = ;
if( ok ( cb , cb_ans ) ) t++;
if( ok ( ck , ck_ans ) ) t+=;
if(t == ) quitf(_ok,"ok ,the answer is correct");
else if( t == ) quitp(0.5,"Right 2");
else if( t == ) quitp(0.5,"Right 1");
else quitf(_wa,"wrong answer");
}
int main(int argc,char *argv[]){
registerTestlibCmd(argc,argv);
rdin();
rdans();
processout();
return ;
}

P4293

11.P3596

#include "testlib.h"
using namespace std;
const int maxn = 1e6 + ;
struct in{int u;int v;}qus[maxn << ];
struct data{int v;int next;}edge[maxn<<];int alist[maxn];int cnt;
void add(int u,int v){edge[++cnt].v=v;edge[cnt].next=alist[u];alist[u]=cnt;return ;}
int maxx,xx1,yy1,xx2,yy2;
int minn;int anss;int maxd;int po;int dis[maxn];
void dfs(int x,int fa) {
if(x==xx2&&fa!=yy2) {
int v=yy2;dis[v]=dis[x]+;
if(dis[v]>maxd) maxd=dis[v],po=v;dfs(v,x);
}
if(x==yy2&&fa!=xx2) {
int v=xx2;dis[v]=dis[x]+;
if(dis[v]>maxd) maxd=dis[v],po=v;dfs(v,x);
}
for(int next=alist[x];next;next=edge[next].next) {
if(x==xx1&&edge[next].v==yy1) continue;
if(edge[next].v==xx1&&x==yy1) continue;
if(edge[next].v==fa) continue;
dis[edge[next].v]=dis[x]+;
if(dis[edge[next].v]>maxd) maxd=dis[edge[next].v],po=edge[next].v;
dfs(edge[next].v,x);
}
}
int n,m;int u,v;bool che1,che2;
int main(int argc,char *argv[]){
registerTestlibCmd(argc,argv);
n=inf.readInt();
for(int i=;i<n;i++) u=inf.readInt(),v=inf.readInt(),qus[i].u=u,qus[i].v=v;
anss=ans.readInt();maxx=ouf.readInt();
if(anss<maxx) quitf(_wa,"wrong answer on line 1 cloum 1 ,found %d ,expexct %d.score:qaq",maxx,anss);
xx1=ans.readInt();yy1=ans.readInt();xx2=ans.readInt();yy2=ans.readInt();
xx1=ouf.readInt();yy1=ouf.readInt();xx2=ouf.readInt();yy2=ouf.readInt();
for(int i=;i<n;i++){
if((qus[i].u==xx2&&qus[i].v==yy2)||(qus[i].u==yy2&&qus[i].v==xx2)) {che2=true;continue;}
if((qus[i].u==xx1&&qus[i].v==yy1)||(qus[i].u==yy1&&qus[i].v==xx1)) {che1=true;continue;}
add(qus[i].u,qus[i].v),add(qus[i].v,qus[i].u);}
if(che1!=true||che2==true) quitf(_wa,"your sloution isn't correct .");
dis[] = ;dfs(,);dis[po]=;dfs(po,);
if(maxd!=maxx) quitf(_wa,"wrong answer.the sloution isn't equle to your answer on line 1");
memset(dis,,sizeof(dis));po=;maxd=;memset(edge,,sizeof(edge));memset(alist,,sizeof(alist));
anss=ans.readInt();maxx=ouf.readInt();che1=che2=;
if(anss>maxx) quitf(_wa,"wrong answer on line 2 cloum 1 ,found %d ,expexct %d.score:qaq",maxx,anss);
xx1=ans.readInt();yy1=ans.readInt();xx2=ans.readInt();yy2=ans.readInt();
xx1=ouf.readInt();yy1=ouf.readInt();xx2=ouf.readInt();yy2=ouf.readInt();
for(int i=;i<n;i++){
if((qus[i].u==xx2&&qus[i].v==yy2)||(qus[i].u==yy2&&qus[i].v==xx2)) {che2=true;continue;}
if((qus[i].u==xx1&&qus[i].v==yy1)||(qus[i].u==yy1&&qus[i].v==xx1)) {che1=true;continue;}
add(qus[i].u,qus[i].v),add(qus[i].v,qus[i].u);}
if(che1!=true||che2==true) quitf(_wa,"your sloution isn't correct .");
dis[] = ;dfs(,);dis[po]=;dfs(po,);
if(maxd!=maxx) quitf(_wa,"wrong answer.the sloution isn't equle to your answer on line 2");
quitf(_ok,"the answer is correct");
return ;
}

P3596

12.P3529 等待update

#include "testlib.h"
using namespace std;
const int maxn = ;
int n,m,r,t,k;bool ins[maxn][maxn];
int ouss;int anss;int slo[maxn];int u,v;
struct data{
int id;int pro;int tim;
friend bool operator < (const data &a,const data &b) {return a.tim<b.tim;}
}qwq[maxn];int cnt;int nxt[maxn];
int main(int argc, char *argv[]) {
registerTestlibCmd(argc,argv);
n=inf.readInt();m=inf.readInt();r=inf.readInt();t=inf.readInt();k=inf.readInt();ouss=ouf.readInt();anss=ans.readInt();cnt=ouss;
if(ouss<anss) quitf(_wa,"wrong answer on line 1 cloum 1,expect %d,found %d",anss,ouss);ouss=ouf.readInt();anss=ans.readInt();
if(ouss>anss) quitf(_wa,"wrong answer on line 1 cloum 2,expect %d,found %d",anss,ouss);
for(int i=;i<=k;i++) u=inf.readInt(),v=inf.readInt(),ins[u][v]=true;
for(int i=;i<=cnt;i++) {qwq[i].id=ouf.readInt();qwq[i].pro=ouf.readInt();qwq[i].tim=ouf.readInt();}sort(qwq+,qwq++cnt);
for(int i=;i<=cnt;i++) {
if(nxt[qwq[i].id]>qwq[i].tim) quitf(_wa,"wrong answer on line %d+1,people %d cannot work on time %d",i,qwq[i].id,qwq[i].tim);
if(slo[qwq[i].pro]!=) quitf(_wa,"wrong answer on line %d+1,the problem %d han been sloved before.",i,qwq[i].pro);
if(ins[qwq[i].id][qwq[i].pro]==false) quitf(_wa,"wrong answer on line %d+1,the person %d cannot slove the problem %d.",i,qwq[i].id,qwq[i].tim);
nxt[qwq[i].id]=qwq[i].tim;slo[qwq[i].pro]=qwq[i].tim+r;}
int all = ;
for(int i=;i<=m;i++) all+=slo[i];
if(all==anss) quitf(_ok,"ok the answer is correct ");
else quitf(_wa,"wrong answer,your sloutiion isn't equle to your answer.");
return ;
}

P3529

13.P3520 未完成

//#pragma gcc optimize(2)
#include "testlib.h"
using namespace std;
const int maxn = 1e6 + ;
const int maxm = 2e7 + ;
struct pre{int u;int v;bool val;bool end;}pre[maxm];
struct data{int v;int next;int val;}edge[maxn << ];int alist[maxn];int cnt;
void add(int u,int v,int val)
{edge[++cnt].v=v;edge[cnt].val=val;edge[cnt].next=alist[u];alist[u]=cnt;return ;}
int n,m;int u,v,vals,vale;
void rdin() {
n=inf.readInt();m=inf.readInt();
for(int i=;i<=m;i++)
pre[i].u=inf.readInt(),pre[i].v=inf.readInt(),
pre[i].val=inf.readInt(),pre[i].end=inf.readInt();
return ;
}
char opt;int ouss;int num;bool ins[maxn];int now[maxn];bool inss[maxn];
bool che(int fa,int x,int pos,int now_num) {
if(pos==now_num) return true;bool qaq=false;
for(int next=alist[x];next;next=edge[next].next){
if(edge[next].v==fa) continue ;
if(edge[next].v==now[pos+]) qaq=true,pre[(next+)>>].val^=;
}
if(qaq==true) return che(x,now[pos+],pos+,now_num);
return false;
}
bool work() {
memset(ins,false,sizeof(ins));memset(now,,sizeof(now));num=ouf.readInt();
for(int i=;i<=num+;i++) now[i]=ouf.readInt(),ins[now[i]]=true;
bool book = che(now[num],now[],,num+);
if(!book) return false;
return true;
}
int main(int argc, char *argv[]) {
registerTestlibCmd(argc,argv);opt=ans.readChar();
if(opt=='N') {
opt=ouf.readChar();if(opt!='N') quitf(_wa,"on line 1 cloum 1 ecpect NIE found %c",opt);
opt=ouf.readChar();if(opt!='I') quitf(_wa,"on line 1 cloum 1 ecpect IE found %c",opt);
opt=ouf.readChar();if(opt!='E') quitf(_wa,"on line 1 cloum 1 ecpect E found %c",opt);
quitf(_ok,"ok the answer is correct.");
}
rdin();ouss=ouf.readInt();
for(int i=;i<=m;i++) add(pre[i].u,pre[i].v,pre[i].val),add(pre[i].v,pre[i].u,pre[i].val);
for(int i=;i<=ouss;i++) if(!work()) quitf(_wa,"wrong answer ,your sloution isn't a single ring on line %d+1",i);
for(int i=;i<=m;i++) if(pre[i].val!=pre[i].end) quitf(_wa,"wrong answer ,your sloution cannow slove the road %",i);
quitf(_ok,"ok,the answer is coerrect");
return ;
}

P3520

14.P3516

#include "testlib.h"
#include <ctime>
using namespace std;
struct lb{
int pre,nxt,val;
}x[];
int n,cnt,head,tail;
void ltof(int num)
{
while(num--)
{
int ls=x[tail].pre;
x[ls].nxt=;
x[tail].nxt=head;
x[tail].pre=;
x[head].pre=tail;
head=tail;
tail=ls;
}
}
void ttof(int num)
{
while(num--)
{
int cnt=;
int ls=head;
for(int i=;i<=;i++)
{
ls=x[ls].nxt;
}
int forth=x[ls].nxt;
int kkk=x[ls].pre;
x[forth].pre=kkk;
x[kkk].nxt=x[ls].nxt;
x[ls].pre=;
x[ls].nxt=head;
x[head].pre=ls;
head=ls;
}
}
void change(int num,int cz){
if(cz==) ltof(num);
else ttof(num);
}
char opt;int now;
char pos;
int m;
int main(int argc,char *argv[]) {
registerTestlibCmd(argc,argv);
n=inf.readInt();
for(int i=;i<=n;i++) x[i].val=inf.readInt(),x[i].pre=i-,x[i].nxt=i+;
head=,tail=n;int qnt=;
opt=ans.readChar();
if(opt=='N') {
pos=ouf.readChar();
if(pos!='N') quitf(_wa,"expect NIE found %c.score:pqp",pos);
pos=ouf.readChar();
if(pos!='I') quitf(_wa,"expect IE found %c.score:pqp",pos);
pos=ouf.readChar();
if(pos!='E') quitf(_wa,"expect E found %c.score:pqp",pos);
pos=ouf.readChar();
if(pos=='\n'||pos==||pos==) quitf(_ok,"the answer ios corect .score:qaq");
if(pos!=' ') quitf(_wa,"expect found %c.score:pqp",pos);
pos=ouf.readChar();
if(pos!='D') quitf(_wa,"expect DA found %c.score:pqp",pos);
pos=ouf.readChar();
if(pos!='A') quitf(_wa,"expect A found %c.score:pqp",pos);
pos=ouf.readChar();
if(pos!=' ') quitf(_wa,"expect found %c.score:pqp",pos);
pos=ouf.readChar();
if(pos!='S') quitf(_wa,"expect SIE found %c.score:pqp",pos);
pos=ouf.readChar();
if(pos!='I') quitf(_wa,"expect IE found %c.score:pqp",pos);
pos=ouf.readChar();
if(pos!='E') quitf(_wa,"expect E found %c.score:pqp",pos);
quitf(_ok,"the answer ios corect .score:qaq");
}
m=ouf.readInt(); if(n==&&m==) {quitf(_ok,"correct answer");return ;}
else if(n==) {quitf(_wa,"wrong answer");return ;} for(int i=;i<=m;i++){
pos=;now=;
pos=ouf.readChar();
while(pos>''||pos<'') pos=ouf.readChar();
while(pos<=''&&pos>='') now=now*+pos-'',pos=ouf.readChar();
if(now<=||now>n) quitf(_wa,"wrong output on operation %d,found %d,expect in [ 1 , %d ] .score:vov",i,now,n);
if(pos=='b') now%=;
if(pos=='a') now%=n;
change(now,pos=='b'); }
int wz=head;
while(wz!=tail){
int nxt=x[wz].nxt;
if(x[nxt].val<x[wz].val){
quitf(_wa,"wrong answer");
return ;
}
wz=nxt;
}
if(x[x[tail].pre].val>x[tail].val) quitf(_wa,"worong answer ");
else quitf(_ok,"correct answer ");
return ;
}

P3516

15.P2974

#include "testlib.h"
using namespace std;
const int maxn = ;
const int maxm = ;
string com[]={"ATTACK","MOVE"};
int n,m;char mp[maxn];//testdata.in
struct data{int v;int next;}edge[maxm << ];int alist[maxn];int cnt;
void add(const int &u,const int &v)
{edge[++cnt].v=v;edge[cnt].next=alist[u];alist[u]=cnt;return ;}
string now;int anss;int usrr;//answer compair&&users output
bool ins[maxn];bool att[maxn];bool mov[maxn];int num;
bool unicom(const int &a,const int &b)
{for(int next=alist[a];next;next=edge[next].next) if(edge[next].v==b) return true;else ;return false;}
bool move(const int &a,const int &b) {
if(!unicom(a,b)) return false;
if(mp[a]=='J'&&mp[b]=='E'&&mov[a]==false&&att[a]==false)
mov[a]=true,swap(mp[a],mp[b]),swap(mov[a],mov[b]),swap(att[a],att[b]);
else return false;return true;
}
int attack(const int &a,const int &b) {
if(!unicom(a,b)) return -;
if(mp[a]=='J'&&mp[b]=='T'&&att[a]==false) {
if(ins[b]==false) {ins[b]=true,att[a]=true;return true;}
ins[b]=true,att[a]=true;return ;
}else return -;
}
int u,v;int a,b;int pos;
int main(int argc, char *argv[]) {
registerTestlibCmd(argc,argv);
n=inf.readInt();m=inf.readInt();char opt=;
// for(int i=1;i<=m;i++) qus[i].u=inf.readInt(),qus[i].v=inf.readInt(),add(qus[i].u,qus[i].v),add(qus[i].v,qus[i].u);
for(int i=;i<=m;i++) u=inf.readInt(),v=inf.readInt(),add(u,v),add(v,u);
anss=ans.readInt();usrr=ouf.readInt();
if(anss!=usrr) quitf(_wa,"on line 1 cloum 1 expect %d found %d.score:qaq",anss,usrr);usrr=;
while(usrr!=anss) {
now=ouf.readToken();a=ouf.readInt();b=ouf.readInt();
if(now==com[]) {
int qwq=attack(a,b);
if(qwq==-) quitf(_wa,"wrong sloution ,the cow %d can't attack %d",a,b);
else usrr+=qwq;}
if(now==com[]) if(!move(a,b)) quitf(_wa,"you cannot move %d to %d",a,b);
}
quitf(_ok,"ok,the answer is correct");
return ;
}
//

P2974

16.P2565

#include "testlib.h"
using namespace std;
const double eps = 1e- ;
const int maxn = ;
int as[maxn][maxn];
int a[maxn];
int n,m;
bool pd() {
for(int i=;i<=n;i++) {
int tmp = ;
for(int j = ; j <= m ; j ++ )
for(int k = ; k <= m ; k ++ )
if( as[i][j] > as[a[i]][k] )
tmp++;
if( tmp * <= m * m ) return ;
}
return ;
}
bool ins[];
int main(int argc,char *argv[]){
registerTestlibCmd(argc,argv);
int p1,p2;
p1=ans.readInt();
if(p1 == ) {
p2=ouf.readInt();
if(p1==p2) quitf(_ok,"corrcet answer.score:ovo");
quitf(_wa,"wrong answer,expect 0 ,found %d,score:qaq",p2);
}
n=inf.readInt();
m=inf.readInt();
for(int i=;i<=n;i++) a[i]=inf.readInt();
for(int i=;i<=n;i++)
for(int j=;j<=m;j++){
as[i][j]=ouf.readInt();
if(ins[as[i][j]]==true) quitf(_wa,"on line %d,cloumb %d,the number %d had foung before.score:qwq",i,j,as[i][j]);
ins[as[i][j]]=true;
}
if(pd()) quitf(_ok,"the answer is correct.score:pwp");
else quitf(_wa,"wrong asnwer . score:pvp");
return ;
}

P2565

17.P1253

#include "testlib.h"
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn = ;
int n;
long long p[maxn];
long long l[maxn];
long long now[maxn];
long long t[maxn];
long long sums[maxn];
long long sumo[maxn];
long long anss;
long long anso;
void readin(){
// freopen("10.in","r",stdin);
n=inf.readInt();
for(int i=;i<=n;i++) l[i]=inf.readLong(),p[i]=inf.readLong(),now[i]=l[i]*p[i];
// fclose(stdin);
}
void readas(){
// freopen("10.ans","r",stdin);
for(int i=;i<=n;i++) t[i]=ans.readLong();
for(int i=;i<=n;i++) sums[i]=now[t[i]];
for(int i=;i<=n;i++) sums[i]=sums[i-]+sums[i];
for(int i=;i<=n;i++) anss+=sums[i];
// fclose(stdin);
}
void reados(){
// freopen("10.out","r",stdin);
for(int i=;i<=n;i++) t[i]=ouf.readLong();
for(int i=;i<=n;i++) sumo[i]=now[t[i]];
for(int i=;i<=n;i++) sumo[i]=sumo[i-]+sumo[i];
for(int i=;i<=n;i++) anso+=sumo[i];
// fclose(stdin);
}
int main(int argc,char *argv[]){
registerTestlibCmd(argc,argv);
readin();
readas();
reados();
// printf("%lld %lld\n%lld",anss,anso,anss-anso);
if(anss==anso) quitf(_ok,"the answer is correct");
else quitf(_wa,"the minnument time is %d , but your sloution is %d",anss,anso);
return ;
}

P1253

18.P1905 忘了放哪里了qwq找到在贴上吧qwq

给洛谷填坑的spj……的更多相关文章

  1. 网络流24题 第三题 - CodeVS1904 洛谷2764 最小路径覆盖问题 有向无环图最小路径覆盖 最大流 二分图匹配 匈牙利算法

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - CodeVS1904 题目传送门 - 洛谷2764 题意概括 给出一个有向无环图,现在请你求一些路径,这些路径 ...

  2. 洛谷P1432 倒水问题(CODEVS.1226)

    To 洛谷.1432 倒水问题 题目背景 In the movie "Die Hard 3", Bruce Willis and Samuel L. Jackson were co ...

  3. 洛谷P1432 倒水问题

    题目背景 In the movie "Die Hard 3", Bruce Willis and Samuel L. Jackson were confronted with th ...

  4. 洛谷P1162—填涂颜色

    这应该是是第一次记录洛谷题库里的题目吧: 题目描述 由数字00组成的方阵中,有一任意形状闭合圈,闭合圈由数字11构成,围圈时只走上下左右44个方向.现要求把闭合圈内的所有空间都填写成22.例如:6 \ ...

  5. #YCB#待做题目与填坑资料

    各种填坑资料(qwq) 主席树(by YL)戳 树套树(by ZSY)戳 不要问我这些题咋来的(查大佬的水表呗) 题目列表: [HDU5977]Garden of Eden [BZOJ2752][HA ...

  6. 洛谷10月月赛II题解

    [咻咻咻] (https://www.luogu.org/contestnew/show/11616) 令人窒息的洛谷月赛,即将参加NOIp的我竟然只会一道题(也可以说一道也不会),最终145的我只能 ...

  7. 不失一般性和快捷性地判定决策单调(洛谷P1912 [NOI2009]诗人小G)(动态规划,决策单调性,单调队列)

    洛谷题目传送门 闲话 看完洛谷larryzhong巨佬的题解,蒟蒻一脸懵逼 如果哪年NOI(放心我这样的蒟蒻是去不了的)又来个决策单调性优化DP,那蒟蒻是不是会看都看不出来直接爆\(0\)?! 还是要 ...

  8. 洛谷 P3178 BZOJ 4034 [HAOI2015]树上操作

    题目描述 有一棵点数为 N 的树,以点 1 为根,且树点有边权.然后有 M 个操作,分为三种:操作 1 :把某个节点 x 的点权增加 a .操作 2 :把某个节点 x 为根的子树中所有点的点权都增加 ...

  9. 洛谷 P1494 BZOJ 2038 [2009国家集训队]小Z的袜子(hose)

    //洛谷题面字体.排版我向来喜欢,却还没收录这道如此有名的题,BZOJ的题面字体太那啥啦,清橙的题面有了缩进,小标题却和正文字体一致,找个好看的题面咋这么难呐………… //2019年3月23日23:0 ...

随机推荐

  1. Git--时光穿梭机之删除文件06

    在Git中,删除也是一个修改操作,我们实际操作一下吧,先添加一个文件test.txt到Git并且提交 $ git add test.txt $ git commit -m "add test ...

  2. 迷你MVVM框架 avalonjs 沉思录 第2节 DOM操作的三大问题

    jQuery之所以击败Prototype.js,是因为它自一开始就了解这三大问题,并提出完善的解决方案. 第一个问题,DOM什么时候可用.JS不像C那样有一个main函数,里面的逻辑不分主次.但JS是 ...

  3. 小学生福利web及APP原型展示

    332熊哲琛 320刘佳 原型作业地址 https://edu.cnblogs.com/campus/fzzcxy/2016SE/home work/2180 原型设计链接 https://modao ...

  4. SpringAop及拦截器

    一.Aop Aop,面向切面编程,提供了一种机制,在执行业务前后执行另外的代码. 切面编程包括切面(Aspect),连接点(Joinpoint).通知(Advice).切入点(Pointcut).引入 ...

  5. jQuery插件Highcharts

    Highcharts 是一个用纯 JavaScript 编写的一个图表库, 能够很简单便捷的在 Web 网站或是 Web 应用程序添加有交互性的图表,并且免费提供给个人学习.个人网站和非商业用途使用. ...

  6. for 续5

    -------siwuxie095                 (五)usebackq 主要用于路径或文件名有空格时的情况 (说白了,就是对 in 后面的括号内集合进行转义)     单靠看帮助文 ...

  7. NoClassDefFoundError: net/sf/ezmorph/Morpher

    使用import net.sf.json.JSONObject; json-lib-2.4-jdk15.jar时报这个错,各种查找,受到https://blog.csdn.net/chenleixin ...

  8. 37-python中bs4获取的标签中如何提取子标签

    如果只是要提取一个标签 里面的属性值啥的,直接看这篇文章就可以了: 23-python用BeautifulSoup用抓取a标签内所有数据 如果是标签的嵌套,可以参考下面的思路,虽然不是很简洁,但是可以 ...

  9. 7-linux-Centos7安装python3并与python2共存

    转载自:https://www.cnblogs.com/JahanGu/p/7452527.html linux-Centos7安装python3并与python2共存   1.查看是否已经安装Pyt ...

  10. unix时间戳与时间

    [root@pserver ~]# date -d "@1381371010" Thu Oct :: CST [root@pserver ~]# date --date=" ...