-
Bio
《勇者斗恶龙2:神战》已发布。 《酋长追寻》 博客
!!!~~新游戏《素数奥秘》已发布:代码
本游戏由xsf创作,所有权归xsf所有,若改编需标明出处。
《勇者斗恶龙2:神战》:
//欢迎来到《龙战2》,著/(主)xtmg·肖胜烽、(副)happybob•杨惠然,特别感谢DerriLock卢逸轩 #include <cstdio> #include <iostream> #include <cmath> #include <algorithm> #include <string> #include <cstring> #include <cstdlib> #include <ctime> using namespace std; int health1 = 10, health2 = 15; int power1 = 2, power2 = 2; int cnt = 0,mmm=1; int mom1=0,mom2=0; int u=0,y=0,ooo=0,qqqq,kk=0; int qwertyuiop=0; void kkk(int x,int d1,int d2,int qw,int qe) { if(x==0) { d1=8; qw+=2; } if(x==1) { d2=8; qe+=2; } return; } //片段1 游戏介绍 void intro() { srand(time(NULL)); cout << endl << endl; cout << "欢迎来到《龙战2》,著/肖胜烽。特别感谢,杨惠然。"<<endl<<endl; cout << "两人回合制游戏,每回合双方同时在“攻击、防御、集气、必杀···”九种行动中选一种。" << endl << endl; cout << "1. “生命”:每人 15 点生命,生命归 0 立即死亡;" << endl << endl; cout << "2. “伤害”:攻击造成 1 伤害,防御免除攻击伤害,互相攻击双方都不受伤害,必杀造成 3 伤害;" << endl << endl; cout << "3. “必杀”:必杀需消耗 2 “气”,双方同时必杀则相安无事,否则放必杀者给对手造成伤害,对手的行动无任何效果;" << endl << endl; cout << "4. “气”:防御对方攻击增加 1 气,集气且不受到伤害增加 1 气。" << endl << endl; cout << "5. “终结”:若对方生命小于3时可使用,每局只能用一次"<< endl << endl; cout << "6. “世界末日”:需消耗 4 “气”,可直接令对方死亡"<< endl << endl; cout << "7. “劫气”:抢走对方的“气”"<<endl<<endl; cout << "8. “大补血”:消耗1气,无攻击时可增2血,被动时另当别论"<<endl<<endl; cout << "9. “神的佑护”:可防御世界末日,必杀;反弹劫气,攻击,终结;需祭祀2气"<<endl<<endl; cout << "----------单挑开始,你是武将1,卢轩轩是武将2----------" << endl << endl; } // 片段3 确定人类策略 namespace human { int strategy() { // 输出出卡提示 cout << "用数字代表本回合武将1的行动:0必杀,1攻击,2防御,3集气,4劫气,5大补血,6终结,7世界末日,8神的保佑" << endl; // 读入 int x = 0; if (!(cin >> x)) { x = 0; getchar(); } return x; } } // 片段4 确定电脑策略 double rd(double l, double r) { return rand() * 1.0 / RAND_MAX * (r - l) + l; } int rdz(int l, int r) { return (int)(1.0 * rand() / RAND_MAX * (r - l) + l); } namespace ai { int strategy() { // 1对手,2我 if(health1<=1) { return 6; } if (power2>=4) { if(health1<=8&&power1<2) return 7; else { double pct=1.0/(health1-8); if(rd(0,1)<=pct) { return 7; } else goto E; } } E: if(power2>=2) { if(health1<=4) { return 0; } else { double r1=rd(0,1),r2=rd(0,1); if(r1>=r2) return 0; goto EE; } } EE: if(power1>=4) { if(health2<=8) { if(power2>=2) { double pct=rd(0,0.3); if(rd(0,1)>=pct) return 8; else { goto GG; } } } else { double pct=rd(0,0.5); if(power2>=2&&rd(0,1)>=pct) return 8; else { goto GG; } } } GG: int xl = health2; double g = rd(0, 1); double pct = ((1.0 - xl / 15.0) * 0.7); if(g<=pct&&power2>=1) return 5; else { return rdz(1, 4); } } } //片段5 根据双方行动, 执行一回合的对战 bool fight(int d1, int d2) { if (d1 < 0 || d1 > 8) { cout << "【【【武将1没有这种策略啦~重新开始回合" << cnt << "!】】】" << endl; return true; } if ((d1 == 0 && power1 < 2)) { cout << "【【【武将1不够气来放必杀!重新开始回合" << cnt << "!】】】" << endl; return true; } if(d1==7 && power1<4) { cout << "【【【武将1不够气来放末日!重新开始回合" << cnt << "!】】】" << endl; return true; } if (d1==5&&power1<1) { cout << "【【【武将1没气回血啦~重新开始回合" << cnt << "!】】】" << endl; return true; } if (d1==8&&power1<2) { cout << "【【【武将1没气保佑啦~重新开始回合" << cnt << "!】】】" << endl; return true; } if(d2==6) { cout<<"【【【武将1死了!】】】"<<"\n"; health1=0; return 0; } u=0; y=0; srand((int)time(NULL)); int rrr=rand()%8; int yyy=rand()%2 ; u=rrr; y=yyy; if(rrr==5)kkk(yyy,d1,d2,power1,power2); cout << "【【【" ; cout<<"["<<d2<<"] "; if(mom1>0) { mom1--; health2--; } if(mom2>0) { mom2--; health1--; } if(d1==5&&d2==5) { power1--; power2--; cout<<"大加血!"; health1+=2; health2+=2; } if((d1==5&&d2==2)||(d1==5&&d2==3)) { power1-=1; health1+=2; if(d2==3)power2++; cout<<"补血成功!"; } if((d1==2&&d2==5)||(d1==3&&d2==5)) { power2--; health2+=2; if(d1==3)power1++; cout<<"补血成功!"; } if(d1==5&&d2==1) { power1--; cout<<"打断补血"; } if(d1==5&&d2==4) { power1--; cout<<"打断补血"; } if(d2==5&&d1==1) { power2--; cout<<"打断补血"; } if(d1==4&&d2==5) { power2--; cout<<"打断补血"; } if (d1 == 1 && d2 == 1) { cout << "两人同时攻击,相安无事"; } if (d1 == 1 && d2 == 2) { power2++; health1--; cout << "武将2反弹了武将1的攻击,得1气"; } if (d1 == 2 && d2 == 1) { power1++; health2--; cout << "武将1反弹了武将2的攻击,得1气"; } if (d1 == 2 && d2 == 2) { cout << "两人同时防御,相安无事"; } if (d1 == 1 && d2 == 3) { health2--; cout << "武将2集气时受到武将1的攻击,损失1生命"; } if (d1 == 3 && d2 == 1) { health1--; cout << "武将1集气时受到武将2的攻击,损失1生命"; } if (d1 == 2 && d2 == 3) { power2++; cout << "武将2趁武将1防御时集气,得1气"; } if (d1 == 3 && d2 == 2) { power1++; cout << "武将1趁武将2防御时集气,得1气"; } if (d1 == 3 && d2 == 3) { power1++; power2++; cout << "双方同时集气,各得1气"; } if (d1 == 0 && d2 != 0&&d2 != 8) { power1 -= 2; health2 -= 3; cout << "武将1使出必杀,对对手造成3伤害"; } if (d1 != 0 && d2 == 0 && d1!=8) { power2 -= 2; health1 -= 3; cout << "武将2使出必杀,对对手造成3伤害"; } if (d1 == 0 && d2 == 0) { power1 -= 2; power2 -= 2; cout << "双方同时必杀,相安无事"; } if(d1==7&&d2!=8) { health2-=7; power1-=4; } if(d2==7&&d1!=8) { health1-=7; power2-=4; } if(d1==7&&d2==7) { cout<<"晴天"; } if(d1 == 6 && health2<=2 && mmm >0 && d2!=8) { health2-=1; mmm-=1; cout<<"最后终结!"; } if(d1==6 && health2>2) { cout << "【【【武将1不能来终结!重新开始回合" << cnt << "!】】】" << endl; return true; } if( d1==4 && d2==4) { cout<<"同时劫气"; } if(d1 ==4&&d2==2) { cout<<"劫气失败,反弹"; health1--; power2++; } if(d2 ==4&&d1==2) { cout<<"劫气失败,反弹"; power1++; health2--; } if(d1 ==4&&d2==1) { cout<<"劫气失败"; health1--; } if(d1 ==4&&d2==3) { cout<<"劫气大成"; power1++; power2--; } if(d2 ==4&&d1==1) { cout<<"劫气失败"; health2--; } if(d2 ==4&&d1==3) { cout<<"劫气大成"; power2++; power1--; } if(d1==8) { power1-=2; if(d2==2)cout<<"防御无效"; if(d2==3) { cout<<"防御无效"; power2++; } if(d2==8) { cout<<"大浪费"; power2-=2; } if(d2==1) { cout<<"反弹"; health2-=1; power1++; } if(d2==4) { power1++; cout<<"反弹"; health2--; } if(d2==5) { power2--; health2+=2; } if(d2==0||d2==7) { cout<<"防御!"; if(d2==0){ cout<<"反弹"; health2-=3; power2-=2; } if(d2==7)power2-=4; } } if(d2==8) { power2-=2; if(d1==2)cout<<"防御无效"; if(d1==3) { cout<<"防御无效"; power1++; } if(d1==8) { cout<<"大浪费"; power1-=2; } if(d1==1) { cout<<"反弹"; health1-=1; power2++; } if(d1==4) { power2++; cout<<"反弹"; health1--; } if(d1==5) { power1--; health1+=2; } if(d1==0||d1==7) { cout<<"防御!"; if(d1==0){ cout<<"反弹"; health1-=3; power1-=2; } if(d1==7)power1-=4; } } cout << "】】】" << endl; ++kk; if(power1<0)power1=0; if(power2<0)power2=0; if(health1>15)health1=15; if(health2>15)health2=15; return false; } //片段6 本回合战后统计 void result() { cout << "【双方状态】" << endl; cout << "*武将1: 生命" << health1 << " 气" << power1 << endl; cout << "*武将2: 生命" << health2 << " 气" << power2 << endl << endl; } //片段7 公布对战结果, winner == 1 代表武将1胜, winner == 2 代表武将2胜 void showWinner(int winner) { cout << endl << "【单挑结束!!!!!】" << endl; if (winner == 1) cout << "武将1战胜卢轩轩获胜!!!!" << endl; else cout << "武将2击败对手获胜!!!!" << endl; cout << endl << endl; } int ppp(int x,int y,int z,int w) { if(z==1) { int Q=x*3+y+1; while(Q>60) Q-=10; return Q; } if(z==0) { int P=100-x-y+2*w; if(P>100)P=100; return P; } } //片段2 进行游戏 int pk() { int cnt = 0; while (true) { // 一方倒下游戏结束 if (health1 <= 0) return 2; if (health2 <= 0) return 1; cout << "【开始回合" << ++cnt << "】" << endl; if(u==5) { cout<<"神的佑护已发下"<<endl; ooo++; } // 片段3 确定人类策略, int human = human::strategy(); // 片段4 确定电脑策略 int ai = ai::strategy(); if(u==5&&y==0)human=8; if(u==5&&y==1)ai=8; if(u==5&&y==0) { power1+=2; cout<<"保佑你"<<endl; } if(u==5&&y==1) { cout<<"保佑对方"<<endl; power2+=2; } //片段5 对战 bool err = fight(human, ai); //片段6 本回合战后统计 if (!err) result(); else cnt--; } } int main() { //片段1 游戏介绍 intro(); //片段2 进行游戏 int winner = pk(); //片段7 公布对战结果 showWinner(winner); if(health1<1)qqqq=1; if(health2<1)qqqq=0; int QQ=ppp(kk,ooo,qqqq,health1); cout<<QQ<<"分"<<endl; if(QQ>=86&&QQ<90) { cout<<"A"<<endl; cout<<"晋级"<<endl; // cout<<"无赠送技能"; } if(QQ>=90&&QQ<95) { cout<<"S"<<endl; cout<<"晋级"<<endl; srand(time(0)); int yt=rand()%2 + 1; // if(yt==0)cout<<"赠送血量卡‘7’"; // else cout<<"赠送战斗卡‘-6’"; } if(QQ>=95&&QQ<98) { cout<<"SS"<<endl; cout<<"晋级"<<endl; srand(time(0)); int yt=rand()%2 + 1; // if(yt==0)cout<<"赠送血量卡‘8’"; // else cout<<"赠送战斗卡‘-8’"; } if(QQ>=98&&QQ<100) { cout<<"SSS"<<endl; cout<<"晋级"<<endl; srand(time(0)); int yt=rand()%2 + 1; // if(yt==0)cout<<"赠送血量卡‘9’"; // else cout<<"赠送战斗卡‘-9’"; } if(QQ==100) { cout<<"SSS+"<<endl; cout<<"晋级"<<endl; srand(time(0)); int yt=rand()%2 + 1; // if(yt==0)cout<<"赠送血量卡‘100’"<<endl; // else cout<<"赠送战斗卡‘-100’"<<endl; } if(QQ<86) { cout<<"已结束"; return 0; } // 游戏介绍 // 游戏环节 // 结果 return 0; }
《酋长追寻》
//游戏名:《酋长追寻》,作者:xtmg·xsf ,特别感谢cjb,核弹djb,zdw //游戏简介:让‘杜’绕过‘坤’的阻碍成功到达‘章’,‘套’可以增加 破冰次数、左上次数并且还有隐藏功能。 //操作:1上,2左上,3左,0重启(另外加一行列),4核弹(破冰) //新增: 人机模式,颜色字体,胜率计算,自定义棋盘 //于2023.6.19日更新完毕 #include<bits/stdc++.h> #include<windows.h> using namespace std; int a[1005][1005]; int cnt1,cnt2,cnt3;// 使用次数 int boom=1; bool zhufu=0; int cnt=60;//初始行列数 bool renji=0; bool replay=0; int shengju=0; float shenglv; void pobing()//破冰!!! { Sleep(500); char k='B'; for(int i=1;i<=150;i++) { for(int j=1;j<=i;j++)cout<<k; cout<<endl; } cout<<"必"; Sleep(500); cout<<"杀"; Sleep(500); cout<<"技:"<<endl; Sleep(500); cout<<"破冰!"; Sleep(1000); cout<<endl; cout<<endl; } void print()//打印棋盘(表格) { for(int i=cnt;i>0;i--) { for(int j=cnt;j>0;j--) { if(a[i][j]==0)printf("%*s",2,""); else if(a[i][j]==1) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 2); printf("%s","杜"); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7); } else if(a[i][j]==2) { printf("%s","坤"); } else if(a[i][j]==3) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 6); printf("%s","蔚"); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7); } else if(a[i][j]==4) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 4); printf("%s","套"); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7); } } cout<<endl; } printf("%s%i%*s","上:",cnt1,2,""); printf("%s%i%*s","左上:",cnt2,2,""); printf("%s%i%*s","左:",cnt3,2,""); printf("%s%i%*s","破冰:",boom,2,""); printf("%s%i%*s","行列数:",cnt,2,""); printf("%s%i%*s","胜局:",shengju,2,""); printf("%s%.1f%s%*s\n","胜率:",shenglv,"%",2,""); } void add(int xnow,int ynow)//增加障碍物 { if(a[xnow+1][ynow]==2&&a[xnow][ynow+1]==2&&a[xnow+1][ynow+1]==2)return; if(zhufu==1) { int kk=rand()%4+1; if(kk==1)return; } int k=rand()%3+1; if(k==1&&a[xnow+1][ynow]!=3&&a[xnow+1][ynow]!=4) { if(a[xnow+1][ynow]==2) { add(xnow,ynow); return; } a[xnow+1][ynow]=2; } else if(k==2&&a[xnow+1][ynow+1]!=3&&a[xnow+1][ynow+1]!=4) { if(a[xnow+1][ynow+1]==2) { add(xnow,ynow); return; } a[xnow+1][ynow+1]=2; } else if(k==3&&a[xnow][ynow+1]!=3&&a[xnow][ynow+1]!=4) { if(a[xnow][ynow+1]==2) { add(xnow,ynow); return; } a[xnow][ynow+1]=2; } return; } void play()//开始游戏 { zhufu=0; boom=true; cnt1=cnt; cnt2=sqrt(3*cnt)+int(cnt/30)-1; cnt3=cnt; replay=0; for(int i=1;i<=cnt;i++) { for(int j=1;j<=cnt;j++) { a[i][j]=0; } } a[cnt/4][3*cnt/5]=4; a[3*cnt/5][cnt/4]=4; a[cnt/2][cnt/2]=4; a[3*cnt/4][3*cnt/4]=4; a[cnt/4][cnt/4]=4; a[1][1]=1; a[cnt][cnt]=3; int xnow=1,ynow=1; print(); print(); print(); for(int i=1;i<=cnt+1;i++) { a[i][cnt+1]=2; a[cnt+1][i]=2; } while(a[cnt][cnt]==3) { int i=getchar()-48; if(i>=0&&i<=4) { if(i==4&&boom>=1) { boom--; for(int k=1;k<=cnt;k++)for(int l=1;l<=cnt;l++)if(a[k][l]==2)a[k][l]=0; pobing(); } if(i==0) { replay=1; cnt++; return; } if(i==1&&a[xnow+1][ynow]!=2&&cnt1>0) { a[xnow][ynow]=0; xnow++; a[xnow][ynow]=1; cnt1--; add(xnow,ynow); } if(i==2&&a[xnow+1][ynow+1]!=2&&cnt2>0) { a[xnow][ynow]=0; ynow++; xnow++; a[xnow][ynow]=1; cnt2--; add(xnow,ynow); } if(i==3&&a[xnow][ynow+1]!=2&&cnt3>0) { a[xnow][ynow]=0; ynow++; a[xnow][ynow]=1; cnt3--; add(xnow,ynow); } if(xnow==cnt/4&&ynow==3*cnt/5) { cout<<"获得祝福:有1/4概率不生成'坤'"<<endl; zhufu=1; } if(xnow==3*cnt/5&&ynow==cnt/4) { cout<<"酒店大套餐(3次左上,1个破冰)"<<endl; boom+=1; cnt2+=3; } if((xnow==cnt/2)&&(ynow==cnt/2)||(xnow==cnt/4&&ynow==cnt/4)||(xnow==3*cnt/4&&ynow==3*cnt/4)) { int p=rand()%12+1; if(p==1||p==2) { cout<<"这是‘三无劣质’(随机生成一个‘坤’)"<<endl; add(xnow,ynow); } else if(p==3||p==4||p==5||p==6) { cout<<"这是2和3的(加2次左上)"<<endl; cnt2+=2; } else if(p==7||p==8) { cout<<"春意套(灵魂出窍套)(隐藏功能)"<<endl; xnow+=3; ynow+=3; a[xnow][ynow]=1; } else{ cout<<"这是安全的(加一次破冰)"<<endl; boom++; } } //胜率计算 int aaa=min(cnt-xnow,cnt-ynow)+1; shenglv=((cnt2+boom)*150.0/aaa); int bbb=abs(xnow-ynow); int bianliang1=aaa-cnt2-boom; if(bianliang1<=0)bianliang1=1; shenglv-=(bbb-boom)*150.0/bianliang1; if(shenglv<=0)shenglv=0.99; if(shenglv>=100)shenglv=100; print(); } } cnt++; shengju++; return; } void renzhiyin() { zhufu=0; boom=true; cnt1=cnt-2; cnt2=sqrt(3*cnt)+int(cnt/30)-1; cnt3=cnt-2; replay=0; for(int i=1;i<=cnt+1;i++) { for(int j=1;j<=cnt+1;j++) { a[i][j]=0; } } a[cnt/4][3*cnt/5]=4; a[3*cnt/5][cnt/4]=4; a[cnt/2][cnt/2]=4; a[3*cnt/4][3*cnt/4]=4; a[cnt/4][cnt/4]=4; a[1][1]=1; a[cnt][cnt]=3; int xnow=1,ynow=1; print(); print(); print(); for(int i=1;i<=cnt+1;i++) { a[i][cnt+1]=2; a[cnt+1][i]=2; } while(a[cnt][cnt]==3) { int i=99; if(a[xnow+1][ynow]==2&&a[xnow][ynow+1]==2&&a[xnow+1][ynow+1]==2) { if(boom>0) { i=4; } if(boom==0)i=0; } else if(a[xnow+1][ynow]==2&&a[xnow][ynow+1]==2) { if(cnt2>0)i=2; if(cnt2==0) { if(boom>0) { i=4; } if(boom==0)i=0; } } else if(a[xnow+1][ynow]==2)i=3; else if(a[xnow][ynow+1]==2)i=1; if(i==99) { if(xnow>=ynow)i=3; if(xnow<ynow)i=1; } if(i>=0&&i<=4) { if(i==4&&boom>=1) { boom--; for(int k=1;k<=cnt;k++)for(int l=1;l<=cnt;l++)if(a[k][l]==2)a[k][l]=0; pobing(); } if(i==0) { replay=1; cnt++; return; } if(i==1&&a[xnow+1][ynow]!=2&&cnt1>0) { a[xnow][ynow]=0; xnow++; a[xnow][ynow]=1; cnt1--; add(xnow,ynow); } if(i==2&&a[xnow+1][ynow+1]!=2&&cnt2>0) { a[xnow][ynow]=0; ynow++; xnow++; a[xnow][ynow]=1; cnt2--; add(xnow,ynow); } if(i==3&&a[xnow][ynow+1]!=2&&cnt3>0) { a[xnow][ynow]=0; ynow++; a[xnow][ynow]=1; cnt3--; add(xnow,ynow); } if(xnow==cnt/4&&ynow==3*cnt/5) { cout<<"获得祝福:有1/4概率不生成'坤'"<<endl; zhufu=1; } if(xnow==3*cnt/5&&ynow==cnt/4) { cout<<"酒店大套餐(3次左上,2个破冰)"<<endl; boom+=2; cnt2+=3; } if((xnow==cnt/2)&&(ynow==cnt/2)||(xnow==cnt/4&&ynow==cnt/4)||(xnow==3*cnt/4&&ynow==3*cnt/4)) { int p=rand()%12+1; if(p==1||p==2) { cout<<"这是‘三无劣质’(随机生成一个‘坤’)"<<endl; add(xnow,ynow); } else if(p==3||p==4||p==5||p==6) { cout<<"这是2和3的(加2次左上)"<<endl; cnt2+=2; } else if(p==7||p==8) { cout<<"春意套(灵魂出窍套)(隐藏功能)"<<endl; xnow+=2; ynow+=2; a[xnow][ynow]=1; } else{ cout<<"这是安全的(加一次破冰)"<<endl; boom++; } } //胜率计算 int aaa=min(cnt-xnow,cnt-ynow)+1; if(zhufu==1)shenglv=((cnt2*2+boom)*150.0/aaa); else shenglv=((cnt2+boom)*150.0/aaa); int bbb=abs(xnow-ynow); int bianliang1=aaa-cnt2-boom; if(bianliang1<=0)bianliang1=1; shenglv-=(bbb-boom)*150.0/bianliang1; if(shenglv<=0)shenglv=0.99; if(shenglv>=100)shenglv=99.9; print(); } Sleep(450); } shengju++; cnt++; return; } int main()//主程序 { std::ios::sync_with_stdio(false); srand(time(NULL)); cout<<"欢迎来到《酋长追寻》,作者xsf,特别感谢cjb,djb,zdw"<<endl; Sleep(1000); cout<<"模式选择:1——自己操作 2——人机模式 (输入1或2)"<<endl; int ans; cin>>ans; cout<<"请输入行列数(建议20~60)"; int cntc; cin>>cntc; cnt=cntc; //人机模式 if(ans==2){ renji=1; if(renji=1) { renzhiyin(); while(replay=1)renzhiyin(); } } //正常模式 else{ play(); while(replay=1)play(); } return 0; }
-
Recent Activities
- 2023上学期初二竞赛组期中考 OI
- 初一期中考 IOI
- 初中竞赛组树形DP2 Assignment
- 2023第一周作业 Assignment
- 编程题可看成绩 IOI
- 22年秋季 初一竞赛组期末考 OI
- 22年秋季 初一上期末考 OI
- 初一年级数组2 Assignment
- 初一年级数组1 Assignment
- 初一年级循环语句4 Assignment
- 上学期竞赛组期中考试(初一) IOI
- 初一上学期期中考试机试(1班2班) IOI
- 初一上学期期中考试笔试(1班2班) OI
- 初一年级循环语句2 Assignment
- 初一竞赛班背包DP作业 Assignment
- 初一竞赛班动态规划作业2 Assignment
- 初一年级if语句 Assignment
- 初一竞赛班作业 Assignment
- 初一1,3班第3~4周作业 Assignment