luogu配对4.0 by 小跳蛙

反比例函数

2019-08-08 21:26:14

Personal

实现洛谷16人配对 食用方式:按鼠标右键显示一次配对结果 悄悄告诉大家这里有彩蛋的 ``` #include<bits/stdc++.h> #include<windows.h> #define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0) using namespace std; const int N=25,n=16; const string s[]={"","夜刀神十香 ","Asuna_Rivaille","QwQ自动机","奶酥奶酥QwQ","粒子群优化blct","NaCly_Fish","Kirito_Rivaille","我是一个垃圾","反比例函数","charliegong","智子","AC鸭","小跳蛙","QAQer","kkk的忠实舔狗","juruoOrz"}; char vis[N]; int num,fla=0; inline int getrand() { int ret; for(ret=rand()%n+1;vis[ret];ret=rand()%n+1); return ret; } inline void print(int a,int b) { if(vis[a]||vis[b]||a==b) return; cout<<"恭喜"<<s[a]<<"和"<<s[b]<<"配对成功!\n"; vis[a]=vis[b]=1; num++,num++; } int main() { srand(time(0)); while(1) { if(KEY_DOWN(VK_RBUTTON)) fla=1; if(KEY_DOWN(VK_SPACE)) break; if(fla) { memset(vis,0,sizeof(vis)); for(num=0;num<n;) { int a=getrand(),b=a; if(a==1) print(a,4); else if(a==4) print(a,1); else if(a==2) print(a,7); else if(a==7) print(a,2); else {while(b==a||b==1||b==2||b==4||b==7) b=getrand();print(a,b);} } Sleep(1000),fla=0,puts(""); } } return 0; } ```