-
个人简介
你好!我是一个学习勤奋刻苦做事独立自主的人, 木兰辞 唧唧复唧唧,木兰开飞机, 开的什么机?波音747! 问女何所思,问女何所忆。女亦有所思,没钱买飞机。 昨夜见军帖,要用轰炸机,飞机十二架,架架买不起。 阿爷无大钱,木兰无金银,愿去买钢铁,从此造飞机。 东市买图纸,西市买螺丝,南市买玻璃,北市买铁皮。 旦辞爷娘去,暮宿旧机库,不闻爹娘唤女声,但闻铁皮摩擦滋啦声。 旦辞机库去,暮至军营旁,不闻爹娘唤女声,但闻将军大呼哈哈哈。 万里开飞机,关山一下没。热气传机翼,日光照玻璃。 将军被吓死,壮士魂已飞。飞来撞天子,天子躺病床. 策勋十二转,赏赐俩耳光。可汗问所欲,木兰不愿进牢房;愿开747,飞着回故乡。 爹娘闻女来,端起机关枪;阿姊闻妹来,当户举手枪;小弟闻姊来,磨刀霍霍向爹娘。 开我机舱门,进我飞机舱,脱我战时袍,换上飞行装, 多装手榴弹,对外架机枪。 出门埋炸弹,亲友皆惊忙:离别十二年,不知木兰变猖狂。 疯子脚蹬地,呆子眼紧闭,两人并排走,谁能说我不 正常? 刷题是一种出路,枚举是一种思想 打表是一种勇气,搜索是一种信仰 剪枝是一种精神,骗分是一种日常 爆零是一种宿命,WA是一种绝望 TLE是一种痛苦,RE是一种放弃 UKE是一种无奈,AC是一种原谅 AK是一种幻想,弃赛是一种颓废 吊打是一种必然,进队是一种奢望 模拟只会猜题意,贪心只能过样例 数学上来先打表,DP一般看规律 组合数学靠运气,计算几何瞎暴力 图论强行套模板,数论只会GCD 递归递推伤不起,搜索茫然TLE 分治做得像枚举,暴力枚举数第一 数据结构干瞪眼,怒刷水题找信心 涨姿势也不容易,考试一来全懵逼 暴力出奇迹,骗分过样例。 数学先打表,DP看运气。 穷举TLE,递推UKE。 模拟MLE,贪心还CE。 想要骗到分,就要有方法。 图论背模板,数论背公式。 动规背方程,高精背代码。 如果都没背,干脆输样例。 模拟定想全,动规定找对。 贪心定证明,二分LM+1。 各种老师一回头 语文老师一回头,此地空余黄鹤楼。 数学老师一回头,二次函数对称轴。 英语老师一回头,sorry加上三克油 化学老师一回头,二氧化碳变汽油。 物理老师一回头,一根杠杆撬地球。 生物老师一回头,试管婴儿水中游。 地理老师一回头,大陆版块乱漂流。 劳技老师一回头,破铜烂铁来走秀。 政治老师一回头,布什改行卖豆油。 美术老师一回头,蒙娜丽莎也风流。 体育老师一回头,奥运取消打篮球。 电脑老师一回头,学生全成阿Q友。 全体老师一回头,世界人民没自由。
《逆子吟》 慈母手中剑, 逆子身上劈。 一秒十八剑, 剑剑出暴击。 父见子未凉, 掏出七匹狼。 子见七匹狼, 瞬间透心凉。 透心凉,心飞扬。 果冻我要喜之郎。
老骥伏枥,志在千里。横扫饥饿,做回自己。 仰天大笑出门去,归来倚杖自叹息。 垂死病中惊坐起,笑问客从何处来。 十年生死两茫茫,喜羊羊与灰太狼。 远赴人间惊鸿宴,鬼刀一开看不见。 男儿当自强,对镜贴花黄。 一朝被蛇咬,处处闻啼鸟。 枯藤老树昏鸦,上班摸鱼回家! 读书破万卷,卷卷有爷名。 情不知所起,一往情深,再而衰,三而竭。 天堂有路你不走,学海无涯苦作舟。 少小离家老大回,安能辨我是雄雌。 巴山楚水凄凉地,蜜雪冰城甜蜜蜜。 吾辈男儿当自强,吃个桃桃好凉凉。 京中有善口 J 者,从此君王不早朝。
在这富裕的年代,诗人何为? 可是,你却说,诗人是酒神神圣的祭司, 在神圣的黑夜中,他走遍大地。
我命由我不由天,吴钩弯,展锋寒。 红尘往事付流水,忘尽俗缘始得真,一饮而尽,再醉千年! 惊涛入海觅螭虎,风雪归山斩妖邪。 落峰长日坠,起笔叠嶂升。 人有悲欢AC,月有阴晴DP,此事古难TLE,但愿人WA,千里共MLE.
一天地理老师问:同学们,河水向哪里流呀?一学生猛站起来唱到:大河向东流啊。 老师没理会他,接着说:天上有 多少颗星星啊?那位同学又唱到:天上的星星参北斗啊。 老师气急:你给我滚出去!学生:说走咱就走啊。老师无奈说:你有病吧?学生:你有我有全都有啊! 老师:你再说一句试试…学生:路见不平一声吼啊!老师:你信不信我揍你?学生:该出手时就出手… 老师怒:我让你退学!学生:风风火火闯九州!…
坐上那台离家的电脑,飘去无人知晓的机房 背着教练说的那句话,孩子OI其实不复杂 哦哦哦BUG轻轻的改 别管那多嘴WA 咽下那些RE 你才能慢慢长大 要错过几个AC 用你最好的年华 这是暴力的代价
【宋】辛弃疾 茅房低小,臭得不得了。醉里吴音相媚好,白发谁家翁媪?大儿锄豆失踪,中儿被困鸡笼。最喜小儿亡赖,溪头拐卖儿童。
静夜思 【唐】李白 床前明月光, 李白睡的香。 梦见棒棒糖, 口水三千丈。 AC=Answer Coarse=粗劣的答案 WA=Wonderful Answer=好答案 PC=Perfect Compile=完美的编译 RE=Run Excellently=完美运行 TLE=Time Limit Enough=时间充裕 MLE=Memory Limit Enough=内存充裕 OLE=Output Limit Enough=输出合法 CE=Compile Easily=轻松通过编译 UKE=Unbelievably Keep Enough Score=难以置信地保持足够的分数 AU=All Unaccepted=全都不正确
//吃豆人游戏??? (来源CSDN,可以复制) #include #include #include #include <conio.h> #include <windows.h> //停顿:Sleep(); #include //清屏:system("cls"); #include using namespace std; const int n=809; struct Point {int x,y;}; int dali; int fx[4]={-1,27,1,-27}; int fxfx[4][2]={{0,-1},{1,0},{0,1},{-1,0}}; int dis[1000][1000]; //0:墙 1:有分的路 2:没分的路 3:怪物的家 int changdi[30][27]={ {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,0}, {0,1,0,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0,1,0}, {0,1,0,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0,1,0}, {0,1,0,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0,1,0}, {0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0}, {0,1,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0}, {0,1,1,1,1,1,1,0,0,1,1,1,1,0,1,1,1,1,0,0,1,1,1,1,1,1,0}, {0,0,0,0,0,0,1,0,0,0,0,0,2,0,2,0,0,0,0,0,1,0,0,0,0,0,0}, {0,0,0,0,0,0,1,0,0,0,0,0,2,0,2,0,0,0,0,0,1,0,0,0,0,0,0}, {0,0,0,0,0,0,1,0,0,2,2,2,2,2,2,2,2,2,0,0,1,0,0,0,0,0,0}, {0,0,0,0,0,0,1,0,0,2,0,0,0,3,0,0,0,2,0,0,1,0,0,0,0,0,0}, {0,0,0,0,0,0,1,0,0,2,0,3,3,3,3,3,0,2,0,0,1,0,0,0,0,0,0}, {2,2,2,2,2,2,1,2,2,2,0,3,3,3,3,3,0,2,2,2,1,2,2,2,2,2,2}, {0,0,0,0,0,0,1,0,0,2,0,3,3,3,3,3,0,2,0,0,1,0,0,0,0,0,0}, {0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0}, {0,0,0,0,0,0,1,0,0,2,2,2,2,2,2,2,2,2,0,0,1,0,0,0,0,0,0}, {0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0}, {0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0}, {0,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,0}, {0,1,0,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0,1,0}, {0,1,0,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0,1,0}, {0,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,0}, {0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0}, {0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0}, {0,1,1,1,1,1,1,0,0,1,1,1,1,0,1,1,1,1,0,0,1,1,1,1,1,1,0}, {0,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0}, {0,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0}, {0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} }; int x,x1,x2,x3,x4,y,y1,y2,y3,y4; int now,now1,now2,now3,now4; int g1,g2,g3,g4; int fangx,nextfx,last1,last2,last3,last4; int fenshu,guozi,guaitimer; int T1,T2,t1,t2,stopped; //T:计时 t1:玩家速度 t2:怪物速度 int f=0; //f:{0:继续 1:被吃 2:赢了 3:输了} int beichi; void color(int a)//颜色函数 { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),a); } void gotoxy(int x,int y)//位置函数(行为x 列为y) { COORD pos; pos.X=2y; pos.Y=x; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos); } void begin(){ system("cls"); color(11); printf(" ★"); color(10); printf("吃豆人"); color(11); printf("★\n\n"); color(7); printf(" 请将窗口开至"); color(11); printf("全屏\n"); color(7); printf(" 正在初始化,请耐心等待"); for (int i=0; i<=n; i++) for (int j=1; j<=n; j++) dis[i][j]=900; for (int i=0; i<=n; i++){ for (int j=0; j<=3; j++){ if (i+fx[j]>=0 && i+fx[j]<=n){ int k=i+fx[j],xx=k/27,yy=k%27,kk; if (changdi[i/27][i%27] && changdi[xx][yy]) dis[i][k]=kk=1; } } } for (int k=0; k<=n; k++)if(changdi[k]){ for (int i=0; i<=n; i++)if(changdi[i]) for (int j=0; j<=n; j++)if(changdi[j]) if (dis[i][j]>dis[i][k]+dis[k][j]) dis[i][j]=dis[i][k]+dis[k][j]; if (k%800){color (13); gotoxy(3,12); printf("│");} if (k%8020){color(13); gotoxy(3,12); printf("╱");} if (k%8040){color(13); gotoxy(3,12); printf("─");} if (k%8060){color(13); gotoxy(3,12); printf("╲");} if (k%600){color(11); gotoxy(5,k/60); printf("●");} } } void shuru(){ char ch=getch(); if (ch'1' | ch=='j') if (changdi[x+fxfx[0][0]][y+fxfx[0][1]]1|changdi[x+fxfx[0][0]][y+fxfx[0][1]]2) fangx=nextfx=0; else nextfx=0; else if (ch'2' | ch'k') if (changdi[x+fxfx[1][0]][y+fxfx[1][1]]1|changdi[x+fxfx[1][0]][y+fxfx[1][1]]2) fangx=nextfx=1; else nextfx=1; else if (ch'3' | ch'l') if (changdi[x+fxfx[2][0]][y+fxfx[2][1]]1|changdi[x+fxfx[2][0]][y+fxfx[2][1]]2) fangx=nextfx=2; else nextfx=2; else if (ch'5' | ch'i') if (changdi[x+fxfx[3][0]][y+fxfx[3][1]]1|changdi[x+fxfx[3][0]][y+fxfx[3][1]]2) fangx=nextfx=3; else nextfx=3; else if (ch'0' | ch's') stopped=(stopped+1)%2; else if (ch=='4' | ch=='a') t1++; else if (ch=='7' | ch=='q') t2++; else if ((ch=='6' | ch=='d') && t1-1>0) t1--; else if ((ch=='9' | ch=='e') && t2-1>0) t2--; else if (ch=='g') dali=(dali+1)%2; } void reset(){ system("cls"); color(7); gotoxy(2,30); printf("控制方向:1/2/3/5"); gotoxy(4,30); printf("你的速度:4/6"); gotoxy(6,30); printf("怪物速度:7/9"); x=22; y=13; x1=x2=x3=x4=14; y1=11; y2=12; y3=14; y4=15; now=607; now1=389; now2=390; now3=392; now4=393; for (int k=0; k<=n; k++){ int i=k/27,j=k%27; gotoxy(i,j); if (changdi[i][j]==1){color(7); printf("?");} else if (!changdi[i][j]){color(1); printf("■");} if (j=26){gotoxy(i,27); color(7); printf("%d",i);} } gotoxy(0,0); gotoxy(x,y); color(14); printf("●"); gotoxy(x1,y1); color(4); printf("◆"); gotoxy(x2,y2); color(5); printf("◆"); gotoxy(x3,y3); color(3); printf("◆"); gotoxy(x4,y4); color(2); printf("◆"); fangx=0; T1=T2=guaitimer=0; t1=75; t2=100;stopped=0; fenshu=0; guozi=237; g1=g2=g3=g4=0; dali=0; gotoxy(14,30); printf(" "); } void move1(){ int xx,yy; xx=x+fxfx[nextfx][0]; yy=y+fxfx[nextfx][1]; if (changdi[xx][yy]){ if (changdi[xx][yy]==1){fenshu+=1; changdi[xx][yy]=2;} color(14); gotoxy(x,y); printf(" "); gotoxy(xx,yy); if (!dali) printf("◎"); else printf("☆"); now=x27+y; x=xx; y=yy; fangx=nextfx; } else{ if (x13 && y0 && fangx0){xx=x; yy=26;} else if (x13 && y26 && fangx2){xx=x; yy=0;} else{xx=x+fxfx[fangx][0]; yy=y+fxfx[fangx][1];} if (changdi[xx][yy]){ if (changdi[xx][yy]1){fenshu+=1; changdi[xx][yy]=2;} color(14); gotoxy(x,y); printf(" "); gotoxy(xx,yy); if (!dali) printf("◎"); else printf("☆"); now=x*27+y; x=xx; y=yy; } } color(7); //gotoxy(15,28); printf("(%d,%d) ",x,y); gotoxy(16,28); printf("now:%d ",now); gotoxy(17,28); printf("%d (%d,%d) ",fangx,fxfx[fangx][0],fxfx[fangx][1]); gotoxy(18,28); printf("(%d,%d) changdi:%d ",xx,yy,changdi[xx][yy]); } void move2(){ int haha,minhaha,xx,yy,chi=0; if (g1){ minhaha=2147483647; if (now1%270 | now1%2726) haha=last1; else if (!dali){ for (int i=0; i<=3; i++) if (changdi[(now1+fx[i])/27][(now1+fx[i])%27] && i!=last1 && minhaha>dis[now1+fx[i]][now]) {minhaha=dis[now1+fx[i]][now]; haha=i;} } else{ minhaha=-minhaha; for (int i=0; i<=3; i++) if (changdi[(now1+fx[i])/27][(now1+fx[i])%27] && i!=last1 && minhaha<dis[now1+fx[i]][now]) {minhaha=dis[now1+fx[i]][now]; haha=i;} } xx=now1/27; yy=now1%27; gotoxy(xx,yy); if (changdi[xx][yy]1) printf("?");else printf(" "); now1+=fx[haha]; last1=(haha+2)%4; xx=now1/27; yy=now1%27; gotoxy(xx,yy); color(4); printf("◆"); color(7); if (xxx && yyy){ if (!dali) chi+=1; else { guozi+=50; fenshu+=50; last1=0; gotoxy(now1/27,now1%27); if (changdi[now1/27][now1%27]1) printf("?"); else printf(" "); now1=389; } } } if (g2){ int k; minhaha=2147483647; if (fangx0 | fangx2){ k=y+(fxfx[fangx][1])*3; while (k>25 | !changdi[x][k]) k--; while (k<1 | !changdi[x][k]) k++; } else{ k=x+(fxfx[fangx][0])*3; while (k>28 | !changdi[k][y]) k--; while (k<1 | !changdi[k][y]) k++; } if (fangx0 | fangx2) k=x27+k; else k=k27+y; if (now2%270 | now2%2726) haha=last2; else if (!dali) for (int i=0; i<=3; i++){ if (changdi[(now2+fx[i])/27][(now2+fx[i])%27] && i!=last2 && minhaha>dis[now2+fx[i]][k])
{minhaha=dis[now2+fx[i]][k]; haha=i;} }
else{ minhaha=-minhaha; for (int i=0; i<=3; i++){ if (changdi[(now2+fx[i])/27][(now2+fx[i])%27] && i!=last2 && minhaha<dis[now2+fx[i]][k])
{minhaha=dis[now2+fx[i]][k]; haha=i;} }
} xx=now2/27; yy=now2%27; gotoxy(xx,yy); if (changdi[xx][yy]1) printf("?");else printf(" "); now2+=fx[haha]; last2=(haha+2)%4; gotoxy(18,30); xx=now2/27; yy=now2%27; gotoxy(xx,yy); color(5); printf("◆"); color(7); if (xxx && yyy){ if (!dali) chi+=1; else { guozi+=50; fenshu+=50; last2=0; gotoxy(now2/27,now2%27); if (changdi[now2/27][now2%27]1) printf("?"); else printf(" "); now2=390; } } } if (g3){ int k; minhaha=2147483647; if (fangx0 | fangx2){ k=y+(fxfx[(fangx+1)%4][1])*3; while (k>25 | !changdi[x][k]) k--; while (k<1 | !changdi[x][k]) k++; } else{ k=x+(fxfx[(fangx+1)%4][0])*3; while (k>28 | !changdi[k][y]) k--; while (k<1 | !changdi[k][y]) k++; } if (fangx0 | fangx2) k=x27+k; else k=k27+y; if (now3%270 | now3%2726) haha=last3; else if (!dali) for (int i=0; i<=3; i++){ if (changdi[(now3+fx[i])/27][(now3+fx[i])%27] && i!=last3 && minhaha>dis[now3+fx[i]][k])
{minhaha=dis[now3+fx[i]][k]; haha=i;} }
else { minhaha=-minhaha; for (int i=0; i<=3; i++){ if (changdi[(now3+fx[i])/27][(now3+fx[i])%27] && i!=last3 && minhaha<dis[now3+fx[i]][k])
{minhaha=dis[now3+fx[i]][k]; haha=i;} }
}
xx=now3/27; yy=now3%27; gotoxy(xx,yy); if (changdi[xx][yy]1) printf("?");else printf(" "); now3+=fx[haha]; last3=(haha+2)%4; gotoxy(18,30); xx=now3/27; yy=now3%27;
gotoxy(xx,yy); color(3); printf("◆"); color(7); if (xxx && yyy){ if (!dali) chi+=1; else { guozi+=50; fenshu+=50; last3=0; gotoxy(now3/27,now3%27); if (changdi[now3/27][now3%27]1) printf("?"); else printf(" "); now3=341; } } } if (chi) beichi++; } int main(){ begin(); int jixu=1; reset(); string bb[4]={"●","①","②","③"}; color(7); gotoxy(12,12); printf("倒计时"); color(12); for (int i=3; i>=0; i--){if (i0) color(11);gotoxy(13,13); cout<<bb[i]; Sleep(1000);} gotoxy(12,12); printf(" "); gotoxy(13,13); printf(" "); color(7); while (!f){ Sleep(1); gotoxy(10,30); printf("得分:%d ",fenshu); gotoxy(8,30); printf("怪物速度:%d ",300-t2); gotoxy(9,30); printf("你的速度:%d ",300-t1); gotoxy(15,30); printf("被吃次数:%d ",beichi); if (kbhit()) shuru(); if (stopped) continue; T1=(T1+1)%t1; T2=(T2+1)%t2; if (T1%t10 && now+fx[fangx]>0 && now+fx[fangx]<n) move1(); if (T2%t20){ if (guaitimer<=8){ if (guaitimer0) g1=1; if (guaitimer8) g2=1; guaitimer++; } if (!g3 && fenshu>=30) g3=1; move2();
} if (fenshu==guozi)f=2; } if (f=2) { Sleep(3000); system("cls"); printf("恭喜你吃完了!\n你一共被怪物吃掉了 %d 次",beichi); Sleep(3000); char ying; scanf("%c",&ying); } }不知是布补鼓,还是布补虎? 2、嘴说腿,腿说嘴,嘴说腿爱跑腿,腿说嘴爱卖嘴。 光动嘴不动腿,光动腿不动嘴,不如不长腿和嘴。 3、七加一,再减一,加完减完等于几?七加一,再减一,加完减完还是七。 4、大刀对单刀,单刀对大刀,大刀斗单刀,单刀夺大刀。 5、你也勤来我也勤,生产同心土变金。工人农民亲兄弟,心心相印团结紧。 6、长虫围着砖堆转,转完砖堆钻砖堆。 7、三山屹四水,四水绕三山;三山四水春常在,四水三山四时春。 8、师部司令部指示:四团十连石连长带四十人在十日四时四十四分按时到达师部司令部,师长召开誓师大会。 9、有个面铺门朝南,门上挂着蓝布棉门帘,摘了蓝布棉门帘,面铺门朝南;挂上蓝布棉门帘,面铺还是门朝南。 10、山前有个严圆眼,山后有个严眼圆,二人山前来比眼,不知是严圆眼的眼圆,还是严眼圆比严圆眼的'眼圆? 20__年经典绕口令【2】 小光和小刚,抬着水桶上岗。上山岗,歇歇凉,拿起竹竿玩打仗。乒乒乒,乓乓乓,打来打去砸了缸。小光怪小刚,小刚怪小光,小光小刚都怪丿竿和水缸。 小华和胖娃,两个种花又种瓜,小华会种花不会种瓜,胖娃会种瓜不会种花。 辛厂长,申厂长,同乡不同行。辛厂长声声讲生产,申厂长常常闹思想。辛厂长一心只想革新厂,申厂长满口只讲加薪饷。 一个胖娃娃,捉了三个大花活蛤蟆,三个胖娃娃,捉了一个大花活蛤蟆,捉了一个大花活蛤蟆的三个胖娃娃,真不如捉了三个大花活蛤蟆的一个胖娃娃。唧唧复唧唧,木兰开飞机, 开的什么机?波音747! case 16: if (collisionDetection(block07, map, x, y)) { clearBlock(hOut, block, x, y); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { block[i][j] = block07[i][j]; } } } else if (collisionDetection(block07, map, x, y - 1)) { clearBlock(hOut, block, x, y); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { block[i][j] = block07[i][j]; } } --y; } else if (collisionDetection(block07, map, x, y + 1)) { clearBlock(hOut, block, x, y); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { block[i][j] = block07[i][j]; } } ++y; } break; case 17: if (collisionDetection(block08, map, x, y)) { clearBlock(hOut, block, x, y); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { block[i][j] = block08[i][j]; } } } else if (collisionDetection(block08, map, x, y - 1)) { clearBlock(hOut, block, x, y); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { block[i][j] = block08[i][j]; } } --y; } else if (collisionDetection(block08, map, x, y + 1)) { clearBlock(hOut, block, x, y); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { block[i][j] = block08[i][j]; } } ++y; } break; case 18: if (collisionDetection(block09, map, x, y)) { clearBlock(hOut, block, x, y); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { block[i][j] = block09[i][j]; } } } else if (collisionDetection(block09, map, x, y - 1)) { clearBlock(hOut, block, x, y); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { block[i][j] = block09[i][j]; } } --y; } else if (collisionDetection(block09, map, x, y + 1)) { clearBlock(hOut, block, x, y); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { block[i][j] = block09[i][j]; } } ++y; } break; case 19: if (collisionDetection(block06, map, x, y)) { clearBlock(hOut, block, x, y); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { block[i][j] = block06[i][j]; } } } else if (collisionDetection(block06, map, x, y - 1)) { clearBlock(hOut, block, x, y); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { block[i][j] = block06[i][j]; } } --y; } else if (collisionDetection(block06, map, x, y + 1)) { clearBlock(hOut, block, x, y); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { block[i][j] = block06[i][j]; } } ++y; } break; case 20: if (collisionDetection(block11, map, x, y)) { clearBlock(hOut, block, x, y); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { block[i][j] = block11[i][j]; } } } else if (collisionDetection(block11, map, x, y - 1)) { clearBlock(hOut, block, x, y); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { block[i][j] = block11[i][j]; } } --y; } else if (collisionDetection(block11, map, x, y + 1)) { clearBlock(hOut, block, x, y); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { block[i][j] = block11[i][j]; } } ++y; } break; case 21: if (collisionDetection(block12, map, x, y)) { clearBlock(hOut, block, x, y); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { block[i][j] = block12[i][j]; } } } else if (collisionDetection(block12, map, x, y - 1)) { clearBlock(hOut, block, x, y); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { block[i][j] = block12[i][j]; } } --y; } else if (collisionDetection(block12, map, x, y + 1)) { clearBlock(hOut, block, x, y); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { block[i][j] = block12[i][j]; } } ++y; } break; case 22: if (collisionDetection(block13, map, x, y)) { clearBlock(hOut, block, x, y); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { block[i][j] = block13[i][j]; } } } else if (collisionDetection(block13, map, x, y - 1)) { clearBlock(hOut, block, x, y); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { block[i][j] = block13[i][j]; } } --y; } else if (collisionDetection(block13, map, x, y + 1)) { clearBlock(hOut, block, x, y); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { block[i][j] = block13[i][j]; } } ++y; } break; case 23: if (collisionDetection(block10, map, x, y)) { clearBlock(hOut, block, x, y); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { block[i][j] = block10[i][j]; } } } else if (collisionDetection(block10, map, x, y - 1)) { clearBlock(hOut, block, x, y); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { block[i][j] = block10[i][j]; } } --y; } else if (collisionDetection(block10, map, x, y + 1)) { clearBlock(hOut, block, x, y); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { block[i][j] = block10[i][j]; } } ++y; } break; case 24: if (collisionDetection(block15, map, x, y)) { clearBlock(hOut, block, x, y); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { block[i][j] = block15[i][j]; } } } else if (collisionDetection(block15, map, x, y - 1)) { clearBlock(hOut, block, x, y); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { block[i][j] = block15[i][j]; } } --y; } else if (collisionDetection(block15, map, x, y + 1)) { clearBlock(hOut, block, x, y); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { block[i][j] = block15[i][j]; } } ++y; } break; case 25: if (collisionDetection(block14, map, x, y)) { clearBlock(hOut, block, x, y); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { block[i][j] = block14[i][j]; } } } else if (collisionDetection(block14, map, x, y - 1)) { clearBlock(hOut, block, x, y); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { block[i][j] = block14[i][j]; } } --y; } else if (collisionDetection(block14, map, x, y + 1)) { clearBlock(hOut, block, x, y); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { block[i][j] = block14[i][j]; } } ++y; } break; case 26: if (collisionDetection(block17, map, x, y)) { clearBlock(hOut, block, x, y); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { block[i][j] = block17[i][j]; } } } else if (collisionDetection(block17, map, x, y - 1)) { clearBlock(hOut, block, x, y); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { block[i][j] = block17[i][j]; } } --y; } else if (collisionDetection(block17, map, x, y + 1)) { clearBlock(hOut, block, x, y); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { block[i][j] = block17[i][j]; } } ++y; } break; case 27: if (collisionDetection(block16, map, x, y)) { clearBlock(hOut, block, x, y); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { block[i][j] = block16[i][j]; } } } else if (collisionDetection(block16, map, x, y - 1)) { clearBlock(hOut, block, x, y); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { block[i][j] = block16[i][j]; } } --y; } else if (collisionDetection(block16, map, x, y + 1)) { clearBlock(hOut, block, x, y); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { block[i][j] = block16[i][j]; } } ++y; } break; default: break; } 以下是“一言”(图灵主页)^(* ̄(oo) ̄)^ ^ ^ o 我所创造的怪物,是我的罪与恶,是我的爱与保护 ! 一板一眼,就会滋生弱点。 你欺他眼盲,骗得他好苦! 从这里(太空)根本看不到什么国境线,只有地球。 没有光明是不幸的么?不,需要光明才是真正的不幸。 风向是会转变的。 为毛我的眼里常含泪水,因为我老是躺着中枪。 春风起,花飘零,梦醒时分,却有几多愁,上心头 就算风吹散了冰雪,想念也会留存下来。 无论撒怎样的谎,都无法欺骗自己的心。 如果有一个喜欢你的人出现,一定不要凶她哦! 我们通常把自己做的傻事称为“命运”。 我爱你,与你有何相干?毁灭你,又与你有何相干? //吃豆人游戏??? (来源CSDN,可以复制) #include <cstdio> #include <iostream> #include <ctime> #include <conio.h> #include <windows.h> //停顿:Sleep(); #include <cstdlib> //清屏:system("cls"); #include <cstring> using namespace std; const int n=809; struct Point {int x,y;}; int dali; int fx[4]={-1,27,1,-27}; int fxfx[4][2]={{0,-1},{1,0},{0,1},{-1,0}}; int dis[1000][1000]; //0:墙 1:有分的路 2:没分的路 3:怪物的家 int changdi[30][27]={ {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,0}, {0,1,0,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0,1,0}, {0,1,0,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0,1,0}, {0,1,0,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0,1,0}, {0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0}, {0,1,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0}, {0,1,1,1,1,1,1,0,0,1,1,1,1,0,1,1,1,1,0,0,1,1,1,1,1,1,0}, {0,0,0,0,0,0,1,0,0,0,0,0,2,0,2,0,0,0,0,0,1,0,0,0,0,0,0}, {0,0,0,0,0,0,1,0,0,0,0,0,2,0,2,0,0,0,0,0,1,0,0,0,0,0,0}, {0,0,0,0,0,0,1,0,0,2,2,2,2,2,2,2,2,2,0,0,1,0,0,0,0,0,0}, {0,0,0,0,0,0,1,0,0,2,0,0,0,3,0,0,0,2,0,0,1,0,0,0,0,0,0}, {0,0,0,0,0,0,1,0,0,2,0,3,3,3,3,3,0,2,0,0,1,0,0,0,0,0,0}, {2,2,2,2,2,2,1,2,2,2,0,3,3,3,3,3,0,2,2,2,1,2,2,2,2,2,2}, {0,0,0,0,0,0,1,0,0,2,0,3,3,3,3,3,0,2,0,0,1,0,0,0,0,0,0}, {0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0}, {0,0,0,0,0,0,1,0,0,2,2,2,2,2,2,2,2,2,0,0,1,0,0,0,0,0,0}, {0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0}, {0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0}, {0,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,0}, {0,1,0,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0,1,0}, {0,1,0,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0,1,0}, {0,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,0}, {0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0}, {0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0}, {0,1,1,1,1,1,1,0,0,1,1,1,1,0,1,1,1,1,0,0,1,1,1,1,1,1,0}, {0,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0}, {0,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0}, {0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} }; int x,x1,x2,x3,x4,y,y1,y2,y3,y4; int now,now1,now2,now3,now4; int g1,g2,g3,g4; int fangx,nextfx,last1,last2,last3,last4; int fenshu,guozi,guaitimer; int T1,T2,t1,t2,stopped; //T:计时 t1:玩家速度 t2:怪物速度 int f=0; //f:{0:继续 1:被吃 2:赢了 3:输了} int beichi; void color(int a)//颜色函数 { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),a); } void gotoxy(int x,int y)//位置函数(行为x 列为y) { COORD pos; pos.X=2*y; pos.Y=x; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos); } void begin(){ system("cls"); color(11); printf(" ★"); color(10); printf("吃豆人"); color(11); printf("★\n\n"); color(7); printf(" 请将窗口开至"); color(11); printf("全屏\n"); color(7); printf(" 正在初始化,请耐心等待"); for (int i=0; i<=n; i++) for (int j=1; j<=n; j++) dis[i][j]=900; for (int i=0; i<=n; i++){ for (int j=0; j<=3; j++){ if (i+fx[j]>=0 && i+fx[j]<=n){ int k=i+fx[j],xx=k/27,yy=k%27,kk; if (changdi[i/27][i%27] && changdi[xx][yy]) dis[i][k]=kk=1; } } } for (int k=0; k<=n; k++)if(changdi[k]){ for (int i=0; i<=n; i++)if(changdi[i]) for (int j=0; j<=n; j++)if(changdi[j]) if (dis[i][j]>dis[i][k]+dis[k][j]) dis[i][j]=dis[i][k]+dis[k][j]; if (k%80==0){color (13); gotoxy(3,12); printf("│");} if (k%80==20){color(13); gotoxy(3,12); printf("╱");} if (k%80==40){color(13); gotoxy(3,12); printf("─");} if (k%80==60){color(13); gotoxy(3,12); printf("╲");} if (k%60==0){color(11); gotoxy(5,k/60); printf("●");} } } void shuru(){ char ch=getch(); if (ch=='1' | ch=='j') if (changdi[x+fxfx[0][0]][y+fxfx[0][1]]==1|changdi[x+fxfx[0][0]][y+fxfx[0][1]]==2) fangx=nextfx=0; else nextfx=0; else if (ch=='2' | ch=='k') if (changdi[x+fxfx[1][0]][y+fxfx[1][1]]==1|changdi[x+fxfx[1][0]][y+fxfx[1][1]]==2) fangx=nextfx=1; else nextfx=1; else if (ch=='3' | ch=='l') if (changdi[x+fxfx[2][0]][y+fxfx[2][1]]==1|changdi[x+fxfx[2][0]][y+fxfx[2][1]]==2) fangx=nextfx=2; else nextfx=2; else if (ch=='5' | ch=='i') if (changdi[x+fxfx[3][0]][y+fxfx[3][1]]==1|changdi[x+fxfx[3][0]][y+fxfx[3][1]]==2) fangx=nextfx=3; else nextfx=3; else if (ch=='0' | ch=='s') stopped=(stopped+1)%2; else if (ch=='4' | ch=='a') t1++; else if (ch=='7' | ch=='q') t2++; else if ((ch=='6' | ch=='d') && t1-1>0) t1--; else if ((ch=='9' | ch=='e') && t2-1>0) t2--; else if (ch=='g') dali=(dali+1)%2; } void reset(){ system("cls"); color(7); gotoxy(2,30); printf("控制方向:1/2/3/5"); gotoxy(4,30); printf("你的速度:4/6"); gotoxy(6,30); printf("怪物速度:7/9"); x=22; y=13; x1=x2=x3=x4=14; y1=11; y2=12; y3=14; y4=15; now=607; now1=389; now2=390; now3=392; now4=393; for (int k=0; k<=n; k++){ int i=k/27,j=k%27; gotoxy(i,j); if (changdi[i][j]==1){color(7); printf("?");} else if (!changdi[i][j]){color(1); printf("■");} if (j=26){gotoxy(i,27); color(7); printf("%d",i);} } gotoxy(0,0); gotoxy(x,y); color(14); printf("●"); gotoxy(x1,y1); color(4); printf("◆"); gotoxy(x2,y2); color(5); printf("◆"); gotoxy(x3,y3); color(3); printf("◆"); gotoxy(x4,y4); color(2); printf("◆"); fangx=0; T1=T2=guaitimer=0; t1=75; t2=100;stopped=0; fenshu=0; guozi=237; g1=g2=g3=g4=0; dali=0; gotoxy(14,30); printf(" "); } void move1(){ int xx,yy; xx=x+fxfx[nextfx][0]; yy=y+fxfx[nextfx][1]; if (changdi[xx][yy]){ if (changdi[xx][yy]==1){fenshu+=1; changdi[xx][yy]=2;} color(14); gotoxy(x,y); printf(" "); gotoxy(xx,yy); if (!dali) printf("◎"); else printf("☆"); now=x*27+y; x=xx; y=yy; fangx=nextfx; } else{ if (x==13 && y==0 && fangx==0){xx=x; yy=26;} else if (x==13 && y==26 && fangx==2){xx=x; yy=0;} else{xx=x+fxfx[fangx][0]; yy=y+fxfx[fangx][1];} if (changdi[xx][yy]){ if (changdi[xx][yy]==1){fenshu+=1; changdi[xx][yy]=2;} color(14); gotoxy(x,y); printf(" "); gotoxy(xx,yy); if (!dali) printf("◎"); else printf("☆"); now=x*27+y; x=xx; y=yy; } } color(7); //gotoxy(15,28); printf("(%d,%d) ",x,y); gotoxy(16,28); printf("now:%d ",now); gotoxy(17,28); printf("%d (%d,%d) ",fangx,fxfx[fangx][0],fxfx[fangx][1]); gotoxy(18,28); printf("(%d,%d) changdi:%d ",xx,yy,changdi[xx][yy]); } void move2(){ int haha,minhaha,xx,yy,chi=0; if (g1){ minhaha=2147483647; if (now1%27==0 | now1%27==26) haha=last1; else if (!dali){ for (int i=0; i<=3; i++) if (changdi[(now1+fx[i])/27][(now1+fx[i])%27] && i!=last1 && minhaha>dis[now1+fx[i]][now]) {minhaha=dis[now1+fx[i]][now]; haha=i;} } else{ minhaha=-minhaha; for (int i=0; i<=3; i++) if (changdi[(now1+fx[i])/27][(now1+fx[i])%27] && i!=last1 && minhaha<dis[now1+fx[i]][now]) {minhaha=dis[now1+fx[i]][now]; haha=i;} } xx=now1/27; yy=now1%27; gotoxy(xx,yy); if (changdi[xx][yy]==1) printf("?");else printf(" "); now1+=fx[haha]; last1=(haha+2)%4; xx=now1/27; yy=now1%27; gotoxy(xx,yy); color(4); printf("◆"); color(7); if (xx==x && yy==y){ if (!dali) chi+=1; else { guozi+=50; fenshu+=50; last1=0; gotoxy(now1/27,now1%27); if (changdi[now1/27][now1%27]==1) printf("?"); else printf(" "); now1=389; } } } if (g2){ int k; minhaha=2147483647; if (fangx==0 | fangx==2){ k=y+(fxfx[fangx][1])*3; while (k>25 | !changdi[x][k]) k--; while (k<1 | !changdi[x][k]) k++; } else{ k=x+(fxfx[fangx][0])*3; while (k>28 | !changdi[k][y]) k--; while (k<1 | !changdi[k][y]) k++; } if (fangx==0 | fangx==2) k=x*27+k; else k=k*27+y; if (now2%27==0 | now2%27==26) haha=last2; else if (!dali) for (int i=0; i<=3; i++){ if (changdi[(now2+fx[i])/27][(now2+fx[i])%27] && i!=last2 && minhaha>dis[now2+fx[i]][k]) {minhaha=dis[now2+fx[i]][k]; haha=i;} } else{ minhaha=-minhaha; for (int i=0; i<=3; i++){ if (changdi[(now2+fx[i])/27][(now2+fx[i])%27] && i!=last2 && minhaha<dis[now2+fx[i]][k]) {minhaha=dis[now2+fx[i]][k]; haha=i;} } } xx=now2/27; yy=now2%27; gotoxy(xx,yy); if (changdi[xx][yy]==1) printf("?");else printf(" "); now2+=fx[haha]; last2=(haha+2)%4; gotoxy(18,30); xx=now2/27; yy=now2%27; gotoxy(xx,yy); color(5); printf("◆"); color(7); if (xx==x && yy==y){ if (!dali) chi+=1; else { guozi+=50; fenshu+=50; last2=0; gotoxy(now2/27,now2%27); if (changdi[now2/27][now2%27]==1) printf("?"); else printf(" "); now2=390; } } } if (g3){ int k; minhaha=2147483647; if (fangx==0 | fangx==2){ k=y+(fxfx[(fangx+1)%4][1])*3; while (k>25 | !changdi[x][k]) k--; while (k<1 | !changdi[x][k]) k++; } else{ k=x+(fxfx[(fangx+1)%4][0])*3; while (k>28 | !changdi[k][y]) k--; while (k<1 | !changdi[k][y]) k++; } if (fangx==0 | fangx==2) k=x*27+k; else k=k*27+y; if (now3%27==0 | now3%27==26) haha=last3; else if (!dali) for (int i=0; i<=3; i++){ if (changdi[(now3+fx[i])/27][(now3+fx[i])%27] && i!=last3 && minhaha>dis[now3+fx[i]][k]) {minhaha=dis[now3+fx[i]][k]; haha=i;} } else { minhaha=-minhaha; for (int i=0; i<=3; i++){ if (changdi[(now3+fx[i])/27][(now3+fx[i])%27] && i!=last3 && minhaha<dis[now3+fx[i]][k]) {minhaha=dis[now3+fx[i]][k]; haha=i;} } } xx=now3/27; yy=now3%27; gotoxy(xx,yy); if (changdi[xx][yy]==1) printf("?");else printf(" "); now3+=fx[haha]; last3=(haha+2)%4; gotoxy(18,30); xx=now3/27; yy=now3%27; gotoxy(xx,yy); color(3); printf("◆"); color(7); if (xx==x && yy==y){ if (!dali) chi+=1; else { guozi+=50; fenshu+=50; last3=0; gotoxy(now3/27,now3%27); if (changdi[now3/27][now3%27]==1) printf("?"); else printf(" "); now3=341; } } } if (chi) beichi++; } int main(){ begin(); int jixu=1; reset(); string bb[4]={"●","①","②","③"}; color(7); gotoxy(12,12); printf("倒计时"); color(12); for (int i=3; i>=0; i--){if (i==0) color(11);gotoxy(13,13); cout<<bb[i]; Sleep(1000);} gotoxy(12,12); printf(" "); gotoxy(13,13); printf(" "); color(7); while (!f){ Sleep(1); gotoxy(10,30); printf("得分:%d ",fenshu); gotoxy(8,30); printf("怪物速度:%d ",300-t2); gotoxy(9,30); printf("你的速度:%d ",300-t1); gotoxy(15,30); printf("被吃次数:%d ",beichi); if (kbhit()) shuru(); if (stopped) continue; T1=(T1+1)%t1; T2=(T2+1)%t2; if (T1%t1==0 && now+fx[fangx]>0 && now+fx[fangx]<n) move1(); if (T2%t2==0){ if (guaitimer<=8){ if (guaitimer==0) g1=1; if (guaitimer==8) g2=1; guaitimer++; } if (!g3 && fenshu>=30) g3=1; move2(); } if (fenshu==guozi)f=2; } if (f=2) { Sleep(3000); system("cls"); printf("恭喜你吃完了!\n你一共被怪物吃掉了 %d 次",beichi); Sleep(3000); char ying; scanf("%c",&ying); } } /* 狼人杀V2.0 更新平票系统、警长 代码整理 各种Bug修复 */ #include<bits/stdc++.h> #include<windows.h> #include<conio.h> using namespace std; const int daytime=0,night=1; int day=0, during_time=daytime, player_number, my_number; HWND hwnd=GetForegroundWindow();//窗口定义 /*设置颜色*/ const int blue=0,yellow=1,red=2,green=3,purple=4,white=5;//颜色常量 void color(int c){ switch(c) { case red:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED);break; case green:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_GREEN);break; case yellow:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED |FOREGROUND_GREEN);break; case blue:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_BLUE);break; case white:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED |FOREGROUND_GREEN | FOREGROUND_BLUE);break; case purple:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED |FOREGROUND_BLUE);break; } } int idx_police=-1; /*控制光标在控制台的位置 */ void gotoxy(int x,int y){ COORD position; position.X=x; position.Y=y; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), position); } /*初始化窗口*/ void init_Show_Window(){ system("mode con lines=60 cols=188");//全屏 ShowWindow(hwnd,SW_MAXIMIZE);//窗口最大化 DeleteMenu(GetSystemMenu(GetConsoleWindow(), FALSE), SC_CLOSE, MF_BYCOMMAND); DrawMenuBar(GetConsoleWindow());//删除×字符 } /*玩家类*/ const int nvwu=0,cunmin=1,yuyanjia=2,langren=3,lieren=4,shouwei=5,good=6,die=1,life=2; class player{ public: int type; int die_or_life; int how(){ return die_or_life; } int is_light;//是否已经公布 int killer; }; player players[1000]; /*转换白天模式*/ void change_daytime(){ during_time=daytime; day++; } /*转换黑夜模式*/ void change_night(){ during_time=night; } int nnvwu=0,ncunmin=0,nyuyanjia=0,nlangren=0,nlieren=0,nshouwei=0; int idxnvwu,idxshouwei,idxyuyanjia,idxlieren,idxlangren[4]={-1,-1,-1,-1}; /*b是否在Arr中*/ bool is_include(int arr[],int b,int l){ for(int i=0;i<l;i++){ if(arr[i]==b) return true; } return false; } /*初始化人数*/ void init_players(){ my_number=rand()%player_number; if(player_number==12) nlangren=4; else if(player_number>=10) nlangren=3; else nlangren=2; for(int i=0;i<player_number;i++) { players[i].die_or_life=life; players[i].is_light=0; players[i].type=-1; players[i].killer=2147483647; } for(int i=0;i<nlangren;i++) { int p=rand()%player_number; if(!is_include(idxlangren,p,4)) idxlangren[i]=p,players[p].type=langren; else i--; Sleep(rand()%80+100); } if(player_number==12) { do{ idxshouwei=rand()%player_number; }while(players[idxshouwei].type!=-1); players[idxshouwei].type=shouwei; } do{ idxnvwu=rand()%player_number; }while(players[idxnvwu].type!=-1); players[idxnvwu].type=nvwu; if(player_number>=10) { do{ idxlieren=rand()%player_number; }while(players[idxlieren].type!=-1); players[idxlieren].type=lieren; } do{ idxyuyanjia=rand()%player_number; }while(players[idxyuyanjia].type!=-1); players[idxyuyanjia].type=yuyanjia; for(int i=0;i<player_number;i++) if(players[i].type==-1) players[i].type=cunmin, ncunmin++; if(players[my_number].type==langren) { for(int i=0;i<nlangren;i++) { players[idxlangren[i]].is_light=1; } } players[my_number].is_light=1; } /*在屏幕上打印东西*/ void print(){ gotoxy(0,0); cout<<"作者:洛谷393864"; gotoxy(90,0); if(during_time==night) color(red); else color(blue); printf("第%d天 | ",day); if(during_time==night) cout<<"黑夜"; else cout<<"白天"; gotoxy(0,3); color(blue); cout<<" 我的号位:"<<my_number+1; for(int i=0;i<player_number;i++){ gotoxy(i*8+1,4); if(i==idx_police) color(yellow); else color(blue); cout<<i+1<<"号位"; gotoxy(i*8+1,5); if(players[i].how()==die){ color(red); cout<<"死 亡"; }else{ color(green); cout<<"存 活"; } gotoxy(i*8+1,6); color(blue); if(players[i].is_light){ if(players[i].is_light==1){ switch(players[i].type){ case nvwu: cout<<"女 巫";break; case yuyanjia: cout<<"\b预言家";break; case cunmin: cout<<"村 民";break; case langren:cout<<"狼 人"; break; case lieren:cout<<"猎 人"; break; case shouwei:cout<<"守 卫"; break; } }else{ cout<<"好人"; } }else{ cout<<"未知"; } } } /*判断是否结束,没结束返回0 好人胜利返回1 狼人胜利返回2 平局返回3*/ int is_end(){ int die_bad=0; int die_people=0; int die_god=0; for(int i=0;i<player_number;i++){ if((players[i].type == nvwu || players[i].type == yuyanjia || players[i].type == shouwei)&&players[i].die_or_life==die) die_god++; else if(players[i].type == langren && players[i].die_or_life==die) die_bad++; else if(players[i].type == cunmin && players[i].die_or_life==die) die_people++; } if((die_bad==die_people || die_bad==die_god)&&(die_bad>=nlangren)) return 3; if(die_bad>=nlangren) return 1; if(die_people>=ncunmin||die_god>=(player_number>=10 ? 3:2)) return 2; return 0; } /*游戏开始前的骚操作*/ void before_game(){ srand(time(NULL)); init_Show_Window(); color(green); cout<<"欢迎来到狼人杀游戏\t\t\t为了更好的游戏体验,请右键点击上方↑↑,点击\"属性\",点击\"字体\"栏目,将字体修改为宋体或新宋体,将字号改为20\n作者:洛谷393864\n请勿私自转载,违者依法追究法律责任 注:10 11 12人局开设猎人 12人局开设守卫警长\n______________________\n"; cout<<"请输入玩家人数(8-12人):"; cin>>player_number; while(player_number<8||player_number>12) { cout<<"请重新输入!\n"; cin>>player_number; } system("cls"); cout<<"初始化身份中,请稍等."; for(int i=0;i<6;i++){ for(int j=0;j<12;j++){ cout<<"."; Sleep(50); } cout<<"\b\b\b\b\b\b\b\b\b\b\b\b \b\b\b\b\b\b\b\b\b\b\b\b"; } system("cls"); init_players(); cout<<"我的号位:"<<my_number+1<<endl <<"我的身份:"; switch(players[my_number].type){ case nvwu: cout<<"女巫\n";break; case yuyanjia: cout<<"预言家\n";break; case cunmin: cout<<"村民\n";break; case langren:cout<<"狼人\n";break; case lieren:cout<<"猎人\n"; break; case shouwei:cout<<"守卫\n";break; } change_daytime(); system("pause"); system("cls"); cout<<"游戏加载中.";int ppppp=rand()%3+2; for(int i=0;i<ppppp;i++){ for(int j=0;j<6;j++){ cout<<"."; Sleep(rand()%100+150); } cout<<"\b\b\b\b\b\b \b\b\b\b\b\b"; } print(); } /*每一天开始前的操作*/ void something_before_everyday(){ change_night(); system("cls"); print(); int langrensha=-1,NVWUDU=-1,nvwujiu=-1,shouweishou=-1; gotoxy(0,7); cout<<"________________________"; gotoxy(0,8); color(white); cout<<"天黑~请闭眼~~~\n"; } /*守卫操作*/ int shouweishou=0; int ShouWei(){ color(blue); cout<<"守卫~请睁眼~~\n"; Sleep(1500); cout<<"你要守护的是?\n"; if(players[my_number].type==shouwei&&players[my_number].die_or_life == life){ cin>>shouweishou; while(!(shouweishou>=1&&shouweishou<=player_number&&players[shouweishou-1].die_or_life == life)){ cout<<"请重新输入!\n"; cin>>shouweishou; } cout<<"你今晚要守护的是"<<shouweishou<<"号\n"; Sleep(1500); shouweishou--; }else{ if(players[idxshouwei].die_or_life == life){ shouweishou=rand()%10; while(!(shouweishou>=1&&shouweishou<=player_number&&players[shouweishou-1].die_or_life == life)){ shouweishou=rand()%10; } } } Sleep(2000); cout<<"守卫请闭眼"<<endl<<endl; return shouweishou; } /*狼人操作*/ int LangRen(){ int langrensha=-1; color(red); cout<<"狼人~请睁眼~~~\n"; Sleep(1500); cout<<"你们今晚要杀~谁~~??\n"; if(players[my_number].type==langren&&players[my_number].die_or_life == life){ cin>>langrensha; while(!(langrensha>=1&&langrensha<=player_number&&players[langrensha-1].die_or_life==life)){ cout<<"请重新输入!\n"; cin>>langrensha; } cout<<"你们今晚要杀的是"<<langrensha--<<"号\n"; Sleep(3500); }else{ while(langrensha==-1 || players[langrensha].die_or_life == die || players[langrensha].type==langren){ langrensha=rand()%player_number; } Sleep(3000); } cout<<"狼人请~闭眼~~\n\n"; return langrensha; } /*女巫操作*/ int nvwujiu=0,nvwudu=0,is_nvwujiu=0,is_nvwudu=0; int NvWu(int langrensha){ color(purple); cout<<"女巫~~请睁眼~~\n"; Sleep(2000); if(players[my_number].type==nvwu&&players[my_number].die_or_life == life){ if(is_nvwujiu) cout<<"你已经用过解药\n",Sleep(1500); else { cout<<"今晚"<<langrensha+1<<"号死了,你想用解药吗?(1想 / 2不想)\n"; int is_nvwujie=0; cin>>is_nvwujie; while(is_nvwujie!=1&&is_nvwujie!=2){ cout<<"请重新输入\n"; cin>>is_nvwujie; } if(is_nvwujie==1) { Sleep(1000); cout<<"已经解救"<<langrensha+1<<"号\n"; nvwujiu=langrensha; } is_nvwujiu=1; } Sleep(1500); if(::is_nvwudu) cout<<"你已经用过解药\n",Sleep(1500); else { cout<<"你想用毒药吗?(1想 / 2不想)\n"; Sleep(1500); int is_nvwudu=0; cin>>is_nvwudu; while(is_nvwudu!=1&&is_nvwudu!=2){ cout<<"请重新输入\n"; cin>>is_nvwudu; } if(is_nvwudu==1){ Sleep(1500); cout<<"你想毒谁?\n"; cin>>nvwudu; while(!(nvwudu>=1&&nvwudu<=player_number&&players[nvwudu].die_or_life==life)){ cout<<"请重新输入\n"; cin>>nvwudu; } nvwudu--; Sleep(1500); cout<<"已经毒死了"<<nvwudu+1<<"号\n"; } ::is_nvwudu=1; } }else{ if(players[idxnvwu].die_or_life == life){ if(!is_nvwujiu) { int is_jiu=rand()%8; if(is_jiu==0){ nvwujiu=langrensha; is_nvwujiu=1; } } if(!is_nvwudu) { int is_du=rand()%4; if(is_du==0){ int num=rand()%player_number; nvwudu=num; is_nvwudu=1; } } } } cout<<"女巫~请闭眼~~\n\n"; return nvwujiu*10000+nvwudu;//传回两个变量,“加密”操作 } int yuyanjiabixutoupiao=-1; /*预言家操作*/ void YuYanJia(){ color(green); cout<<"预言家~请睁眼~~\n"; Sleep(2000); if(players[my_number].type==yuyanjia&&players[my_number].die_or_life == life){ cout<<"请问你想查验谁的身份\n"; int p; cin>>p; while(!(p>=1&&p<=player_number)){ cout<<"请重新输入!\n"; cin>>p; } Sleep(2000); cout<<p<<"号的身份是——"; Sleep(1000); if(players[p-1].type == langren){ cout<<"狼人\n"; players[p-1].is_light = 1; }else{ cout<<"好人\n"; players[p-1].is_light = 2; } }else{ int p=-1; while(p==-1||players[p].die_or_life==die||p==idxlieren) p=rand()%player_number; if(players[p].type==langren)//锁定目标! { yuyanjiabixutoupiao=p; } } cout<<"预言家~~请闭眼~~\n"; } /*黑夜操作*/ int LANGRENSHA=-1,NVWUDU=-1,NVWUJIU=-1,SHOUWEISHOU=-1; void Night(){ LANGRENSHA=-1,NVWUDU=-1,NVWUJIU=-1,SHOUWEISHOU=-1; //如果有12人局,添加守卫 if(player_number==12){ SHOUWEISHOU=ShouWei(); Sleep(2000); } /*狼人部分*/ LANGRENSHA=LangRen(); Sleep(3500); /*女巫部分*/ int nvwu=NvWu(LANGRENSHA); NVWUDU=nvwu%10+nvwu/10%10; NVWUJIU=nvwu/10000%10+nvwu/100000%10; Sleep(3000); /*预言家部分*/ YuYanJia(); Sleep(2000); } /*猎人操作*/ void Lieren(){ int lierendai=-1; cout<<idxlieren+1<<"号是猎人\n"; players[idxlieren].is_light = 1; Sleep(1000); if(idxlieren==my_number){ cout<<"你想带走几号?\n"; cin>>lierendai; while(lierendai<1||lierendai>player_number||players[lierendai].die_or_life==die){ cout<<"请重新输入!\n"; cin>>lierendai; } lierendai--; }else{ lierendai=rand()%player_number; while(players[lierendai].die_or_life == die){ lierendai=rand()%player_number; } } Sleep(2000); cout<<"猎人选择带走"<<lierendai+1<<"号\n"; Sleep(2000); players[lierendai].die_or_life = die; } void police_die(); /*判断谁死了*/ void panduansiwang(){ system("cls"); print(); gotoxy(0,7); cout<<"________________________\n"; Sleep(3000); color(white); cout<<"天亮了\n"; Sleep(2000); gotoxy(0,9); cout<<"昨晚"; bool is_die[15]={false},is_die_lieren=false,flag=false; for(int i=0;i<player_number;i++) { if(players[i].die_or_life==life) { if(i==LANGRENSHA||i==NVWUDU) { if(players[i].type==lieren) is_die_lieren=true; players[i].killer= (i==LANGRENSHA ? langren:nvwu); players[i].die_or_life=die; is_die[i]=true; } if(i==SHOUWEISHOU||i==NVWUJIU) { if(players[i].type==lieren) is_die_lieren=false; players[i].killer=-1; players[i].die_or_life=life; is_die[i]=false; } } } bool is_police_die=false; for(int i=0;i<player_number;i++) { if(is_die[i]) { if(flag) cout<<"和"<<i+1<<"号"; else cout<<i+1<<"号",flag=true; if(i==idx_police) is_police_die=true; } } if(flag) cout<<"死了\n"; else cout<<"是平安夜\n"; if(is_die_lieren) Lieren(); if(is_police_die) police_die(); } /*选警长*/ void choose_police(){ system("cls"); print(); color(blue); gotoxy(0,7); cout<<"________________________\n"; color(yellow); cout<<"下面开始选举警长,各位不能选举自己~\n"; int tong[100]={0},cannot[100],must[100]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}; memset(cannot,-1,sizeof(cannot)); CHOOSE: color(yellow); Sleep(1500); for(int i=0;i<player_number;i++) { if(players[i].die_or_life==life&&!is_include(cannot,i,player_number)) { if(i==my_number) { cout<<"你要选举几号?\n"; int n; cin>>n; while(n<1||n>player_number||n==i+1||players[n-1].die_or_life==die||!is_include(must,n-1,player_number)) { cout<<"请重新输入!\n"; cin>>n; } cout<<i+1<<"号选举"<<n--<<"号\n"; tong[n]++; } else { int n=rand()%player_number; while(n==i||players[n].die_or_life==die||!is_include(must,n,player_number)) n=rand()%player_number; cout<<i+1<<"号选举"<<n+1<<"号\n"; tong[n]++; } Sleep(1500); } } int idx_max=-1,maxn=-1,len=0; for(int i=0;i<player_number;i++) if(maxn<tong[i]) { maxn=tong[i]; idx_max=i; } int maxn_arr[15]={0}; for(int i=0;i<player_number;i++) { if(tong[i]==maxn) { maxn_arr[len++]=i; } } color(blue); if(len>1) { for(int i=0;i<len;i++) { if(i==len-1) { cout<<maxn_arr[i]+1<<"号平票\n"; } else { cout<<maxn_arr[i]+1<<"号,"; } } for(int i=0;i<len;i++) cannot[i]=maxn_arr[i]; for(int i=0;i<player_number;i++) { if(is_include(cannot,i,len)) must[i]=i; else must[i]=-1; } color(white); goto CHOOSE; } cout<<"恭喜"<<idx_max+1<<"号当选警长\n"; Sleep(3000); idx_police=idx_max; return; } /*投票*/ int toupiao(){ int tong[100]={0},cannot[100]={},must[100]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}; memset(cannot,-1,sizeof(cannot)); gotoxy(0,7); color(blue); cout<<"________________________\n"; color(white); cout<<"下面进入投票环节\n"; memset(tong,0,sizeof(tong)); Sleep(2000); TOUPIAO: for(int i=0;i<player_number;i++){ if(players[i].die_or_life == life&&!is_include(cannot,i,player_number)){ if(i==my_number){ color(white); cout<<"你要投几号?\n"; int n; cin>>n; while(!(n>=1&&n<=player_number&&is_include(must,n-1,player_number))){ cout<<"请重新输入!\n"; cin>>n; } Sleep(2000); cout<<setw(2)<<my_number+1<<"号投了"<<setw(2)<<n<<"号"; if(my_number==n-1) color(red),cout<<"快来看!这有个疯子投自己!"; if(i==idx_police) color(yellow),cout<<"(警长)\n"; else cout<<"\n"; if(i==idx_police) tong[n-1]++; tong[n-1]++; }else{ color(white); int t=-1; while(t==-1 || players[t].die_or_life == die || t==i || !is_include(must,t,player_number)){ if(i==idxyuyanjia&&yuyanjiabixutoupiao!=-1) { t=yuyanjiabixutoupiao; yuyanjiabixutoupiao=-1; continue; } t=rand()%player_number; if(is_include(idxlangren,i,nlangren)) { if(players[t].type == langren) t=-1; } } cout<<setw(2)<<i+1<<"号"<<"投了"<<setw(2)<<t+1<<"号"; if(i==idx_police) cout<<"(警长2票)\n"; else cout<<"\n"; if(i==idx_police) tong[t]++; tong[t]++; } Sleep(rand()%1000+1000); } } int idx_max=-1,maxn=-1,len=0; for(int i=0;i<player_number;i++) if(maxn<tong[i]) { maxn=tong[i]; idx_max=i; } int maxn_arr[15]={0}; for(int i=0;i<player_number;i++) { if(tong[i]==maxn) { maxn_arr[len++]=i; } } color(blue); if(len>1) { for(int i=0;i<len;i++) { if(i==len-1) { cout<<maxn_arr[i]+1<<"号平票\n"; } else { cout<<maxn_arr[i]+1<<"号,"; } } for(int i=0;i<len;i++) cannot[i]=maxn_arr[i]; for(int i=0;i<player_number;i++) { if(is_include(cannot,i,len)) must[i]=i; else must[i]=-1; } color(white); goto TOUPIAO; } cout<<idx_max+1<<"号"<<"出局\n"; Sleep(4000); players[idx_max].die_or_life = die; players[idx_max].killer = good; return idx_max; } /*警长死亡*/ void police_die(){ color(yellow); int type; if(idx_police==my_number) { Sleep(1550); cout<<"你是想撕毁警徽还是移交警徽?(撕毁输入1,移交输入2)"; cin>>type; while(!(type==1||type==2)) { cout<<"请重新输入!\n"; cin>>type; } } else{ type=rand()%3+1; } if(type==1) { cout<<"警长选择撕毁警徽\n"; Sleep(1000); idx_police=-1; } else { int lucky=-1; while(lucky==-1||players[lucky].die_or_life==die) lucky=rand()%player_number; cout<<"警长选择把警徽移交给"<<lucky+1<<"号\n"; Sleep(1500); idx_police=lucky; } } /*故事的最后*/ void the_end(){ system("cls"); switch(is_end()){ case 1:cout<<"好人胜利\n\n"; break; case 2:cout<<"狼人胜利\n\n"; break; case 3:cout<<"本局平局\n\n"; break; } for(int i=0;i<player_number;i++){ cout<<i+1<<"号位:\t"; switch(players[i].type){ case nvwu: cout<<"女巫\t";break; case yuyanjia: cout<<"预言家\t";break; case cunmin: cout<<"村民\t";break; case langren:cout<<"狼人\t";break; case lieren:cout<<"猎人\t"; break; case shouwei:cout<<"守卫\t";break; } cout<<"最终"; switch(players[i].killer){ case nvwu:cout<<"被女巫毒死\n"; break; case langren:cout<<"被狼人杀死\n"; break; case good:cout<<"被投票出局\n"; break; case lieren:cout<<"被猎人带走\n";break; default :cout<<"存活\n"; } cout<<endl; } } /*主函数*/ int main(){ int wheel=0; before_game(); while(!is_end()){ //黑夜准备 something_before_everyday(); Sleep(1500); //黑夜部分 Night(); //进入黑夜! change_daytime(); //换天 //天亮了 panduansiwang();//判断谁死了 Sleep(2000); system("cls"); print(); if(is_end()) break; //选警长 if(!wheel&&player_number==12) { choose_police(); system("cls"); print(); } //投票环节 int idx_max=toupiao();//票数最多的人 int lierendai=-1; if(idx_max==idx_police){ police_die(); } if(players[idx_max].type==lieren){//启动猎人程序 Lieren(); if(is_end()) break; } system("cls"); print(); wheel++; } the_end(); system("pause"); return 0; } 宜考NOIP , 小心别爆零.] 骗分过样例,暴力出奇迹。 山重水复疑无路,make后面不加to。 秦时明月汉时关,高价氧化低价还。 君问归期未有期,点裂加倍匀两极。 酒酣胸胆尚开张,GM=gR方。 碧云天,黄叶地,高温高压催化剂。 横看成岭侧成峰,洛伦兹力不做功。 草树知春不久归,b方减去4ac。 瀚海阑干百丈冰,酸脱羟基醇脱氢 西江月·夜行OI道中 明月AC惊鹊, RE半夜鸣蝉。 稻花香里说丰年, 听取WA声一片。 七八个TLE, 两三点MLE。 旧时茅店社林边, 路转CE忽见。 生命的意义? 洛谷新手村外,一个OIer开设的机房里,程序员kkk端坐在桌后。他头也不抬,冷冷地问:“你叫什么名字?” “QAQ__" “年龄?” “**岁。” “什么错误?” “TLE。” kkk程序员站起身熟练地打开病人的代码。他愣住了,蓝色的眼睛里闪出惊疑的神情。他重新审视着眼前这个人,冷冷地问:“你的洛谷名是什么颜色的?” “棕色。” “你是红名!”kkk程序员一针见血地说,“我当过管理员 (其实现在也是),这么多的代码,只有红名大佬才写的出来!” 病人微微一笑,说:“kkk程序员,你说我是红名,我就是红名吧。” kkk程序员的目光柔和了,他吩咐同事:“准备改BUG。” kkk程序员正在换工作服,同事跑来,低声告诉他病人拒绝使用O2优化。kkk程序员的眉毛扬了起来,他走进机房,生气地说:“年轻人,在这儿要听程序员的指挥!” 病人平静地回答:“kkk程序员,O2优化离头文件太近,我担心施行O2优化会影响头文件。而我,今后需要一个非常好用的头文件!” kkk程序员再一次愣住了,竟有点口吃地说:“你,你能忍受吗?你的程序需要加上无数个剪枝,把原先的代码和你改的代码全部删掉!” “试试看吧。” 电脑前,一向从容镇定的kkk程序员,这次双手却有些颤抖,他额上汗珠滚滚,同事帮他擦了一次又一次。最后他忍不住开口对病人说:“你挺不住可以哼叫。” 病人一声不吭,双手紧紧抓住身下的白床单,手背青筋暴起,汗如雨下。他越来越使劲,崭新的白床单居然被抓破了。(注:原因是因为不愿意看到自己的代码被改) 脱去工作服的kkk程序员擦着汗走过来,由衷地说:“年轻人,我真担心你会WA过去。” 病人脸色苍白。他勉强一笑,说:“我一直在数你的改的行数。” kkk程序员吓了一跳,不相信地问:“我改了多少行?” “2^6行。” kkk程序员惊呆了,大声嚷道:“你是一个真正的OIer,一个会写代码的神犇!你堪称管理员!” “你过奖了。” kkk程序员的脸上浮出慈祥的神情。他想说什么又忍住了,挥手让同事出去,然后关上机房的门,注视着病人,说:“告诉我,你的真名叫什么?” “chen_zhe。” kkk程序员肃然起敬:“啊,AK IOI的神犇,久仰久仰,认识你很荣幸。”chen_zhe友好地把手伸了过去。 找到一首 “好” 诗,给大家分享一下: 听说津津为课程烦恼 金明一家住进了新房 听说丁丁玩数字游戏 火柴棒能搭出新天地 听说校门外正在砍树 大家一起做靶形数独 听说旅行者在赚差价 潜伏者正在破译着密码 只有无尽的代码知道 津津摆脱了学习的烦恼 金明开心地走进商店 挑选着书桌和电脑 总有一种算法能够让你成功拿到分 无论是贪心还是动规 或者将答案二分 思如泉涌掀起波涛 又汇成一个新的算法 让所有TLE 所有MLE 激励着我们前行写代码 听说同学们在玩推理 小Z的袜子总配不齐 听说两人在挑选客栈 火星上有条能量项链 听说陶陶在采摘苹果 一只青蛙要从河边过 听说推销员走入胡同 杰瑞爬进了奶酪的小洞 只有无尽的代码知道 同学们男女配对练起了舞蹈 小Z把他的袜子找到 AK了无数机房 屏幕微微发亮 思想在虚树路径彷徨 平面的向量交错生长 织成忧伤的网 剪枝剪去我们的疯狂 SPFA告诉我前途在何方 01背包装下了忧伤 笑颜洋溢脸庞 深夜电脑,富丽堂皇,题目 W A ,不免彷徨. D P 背包,迷迷茫茫,R P R P ,全部用光. 屏幕微亮,代码千行,灰名蓝名,淡淡忧伤…… 山重水复疑无路,make后面不加to。 秦时明月汉时关,高价氧化低价还。 君问归期未有期,点裂加倍匀两极。 酒酣胸胆尚开张,GM=gR方。 碧云天,黄叶地,高温高压催化剂。 横看成岭侧成峰,洛伦兹力不做功。 草树知春不久归,b方减去4ac。 瀚海阑干百丈冰,酸脱羟基醇脱氢。 本入 的 萌新QAQ 是刚学OI ? 但是 是这样 即使 ? 我也 声音大声喊出 要用蒟 蒻的 ? ? ICANAKCSP 大 鵬 一 日 同 風 起 , 扶 摇 直 上 玖 萬 裡 大鵬一日同風起,扶摇直上玖萬裡
-
最近活动
- 2025.4.11 ~ 2025.4.13 小学组第 14 次周赛补题 作业
- 2025.4.11 ~ 2025.4.13 小学组第 14 次周赛 OI
- 2022-2024年市北区区赛历年真题 - 初中组 IOI
- 2022-2024年市北区区赛历年真题 - 小学组 IOI
- 2025.4.6语言月赛补题 作业
- 2025.3.30 小学组 三月 月赛 IOI
- 2025.3.30 小学组3月月赛补题 作业
- 2025.4.6语言月赛 OI
- 2025.3.21 ~ 2025.3.23 小学组第 13次周赛补题 作业
- 2025.3.21 ~ 2025.3.23 小学组第 13 次周赛 OI
- 2025.3.9第一期语言月赛 ACM/ICPC
- 2025.3.2 小学组二月月赛 OI
- 2024.11.8 ~ 11.10 小学组第 1 次周赛补题 作业
-
Stat
-
Rating