• 个人简介

    教你如何水24道黑题

    1.抄题解,1月不过10次

    2.看题解,仅限超水二分+数学

    3.听教练讲 抄教练代码

    4.套数据

    5.自己写 几乎不可能

    图

    "AC=Answer Coarse=粗劣的答案"
    "WA=Wonderful Answer=好答案"
    "TLE=Time Limit Enough=时间充裕"
    "MLE=Memory Limit Enough=内存充裕"
    "CE=Compile Easily=轻松通过编译"
    "RE=Run Excellently=完美运行"
    "UKE=Unbelievablly Keep Enough Score=难以置信地保持足够的分数"
    "AU=All Unaccepted=全都不正确" 
    
    :name

    次踩爆这个蒟蒻.

    
    
    
    #include <iostream>
    #include <windows.h>
    #include <string>
    #include <cstdlib>
    #include <ctime>
    using namespace std;
    
    // 添加随机事件函数
    void randomHorrorEvent(int &sanity) {
        int event = rand() % 5;
        switch(event) {
            case 0:
                cout << "你突然听到耳边有人轻声呢喃你的名字...\n";
                sanity -= 8;
                break;
            case 1:
                cout << "余光瞥见一个苍白的面孔从窗外一闪而过...\n";
                sanity -= 5;
                break;
            case 2:
                cout << "所有的门突然同时发出吱呀声...\n";
                sanity -= 7;
                break;
            case 3:
                cout << "你的影子突然自己动了起来...\n";
                sanity -= 10;
                break;
            case 4:
                cout << "空气中突然弥漫着腐臭的气味...\n";
                sanity -= 5;
                break;
        }
        cout << "理智-" << (event+5) << endl;
        Sleep(2000);
    }
    
    int main() {
        srand(time(0));
        int sanity = 50;  // 理智值
        int knowledge = 0; // 知识收集度
        int daysSurvived = 0; // 生存天数
        int hunger = 50; // 饥饿值
        string choice[30];
        
        system("cls");
        cout << "=======================\n";
        cout << "     校园怪谈-生存版\n";
        cout << "=======================\n";
        cout << "开始游戏吗?\n";
        cout << "A.开始游戏  B.退出\n";
        cin >> choice[0];
        
        if(choice[0] == "A" || choice[0] == "a") {
            cout << "加载中......\n";
            Sleep(2000);
            system("cls");
            
            cout << "提示:这所学校已被异界侵蚀,你必须生存足够长时间才能找到真相\n";
            cout << "提示:午夜12点后学校会变成地狱,但有时你必须留下\n";
            cout << "提示:注意你的饥饿值和理智值,过低会导致死亡\n";
            cout << "A.我明白了\n";
            cin >> choice[1];
            
            if(choice[1] == "A" || choice[1] == "a") {
                // 游戏主循环
                while(sanity > 0 && hunger > 0 && daysSurvived < 30) {
                    system("cls");
                    daysSurvived++;
                    hunger -= 10; // 每天减少饥饿值
                    
                    // 随机事件触发
                    if(rand() % 100 < 40) {
                        randomHorrorEvent(sanity);
                    }
                    
                    cout << "第 " << daysSurvived << " 天\n";
                    cout << "时间:下午4:30\n";
                    cout << "当前状态:\n";
                    cout << "理智值: " << sanity << "/100\n";
                    cout << "饥饿值: " << hunger << "/100\n";
                    cout << "知识收集: " << knowledge << "/100\n\n";
                    
                    // 根据天数推进剧情
                    if(daysSurvived == 1) {
                        cout << "放学后,你发现教室里只剩下你一个人\n";
                        cout << "课桌里有一本渗血的日记,封面在微微颤动\n";
                        cout << "A.阅读日记  B.无视它回家\n";
                        cin >> choice[2];
                        
                        if(choice[2] == "A" || choice[2] == "a") {
                            cout << "日记中记载着三年前一个学生的献祭仪式\n";
                            cout << "最后一页写着'不要相信镜子里的自己'\n";
                            cout << "知识+10 理智-10\n";
                            knowledge += 10;
                            sanity -= 10;
                            Sleep(2000);
                            
                            cout << "\n你听到走廊传来湿漉漉的脚步声,像是沾满了血\n";
                            cout << "A.躲起来  B.出去看看\n";
                            cin >> choice[3];
                            
                            if(choice[3] == "A" || choice[3] == "a") {
                                cout << "你躲在了讲台下,看到一个没有皮肤的人形走过\n";
                                cout << "它突然停下,脖子180度扭转看向你的方向...\n";
                                cout << "理智-15\n";
                                sanity -= 15;
                                Sleep(2000);
                            } else {
                                cout << "走廊空无一人,但墙上渗出鲜血形成'快逃'字样\n";
                                cout << "理智-25\n";
                                sanity -= 25;
                                Sleep(2000);
                            }
                        }
                    } 
                    else if(daysSurvived == 2) {
                        cout << "午休时间,你听说图书馆有关于学校历史的禁书\n";
                        cout << "图书管理员的眼睛全黑,嘴角挂着诡异的微笑\n";
                        cout << "A.去图书馆调查  B.放弃调查\n";
                        cin >> choice[4];
                        
                        if(choice[4] == "A" || choice[4] == "a") {
                            cout << "禁书区的书皮是用人皮制作的,还在微微发热\n";
                            cout << "你找到了被撕毁的记录,上面的血迹还未干涸\n";
                            cout << "知识+20 理智-10\n";
                            knowledge += 20;
                            sanity -= 10;
                            Sleep(2000);
                            
                            cout << "\n管理员突然出现在你身后,他的影子有六只手\n";
                            cout << "A.撒谎说走错了  B.坦白在调查\n";
                            cin >> choice[5];
                            
                            if(choice[5] == "A" || choice[5] == "a") {
                                cout << "管理员相信了你,但你发现他的牙齿变得尖锐\n";
                                cout << "理智-10\n";
                                sanity -= 10;
                            } else {
                                cout << "管理员的脸皮突然脱落,露出血肉模糊的真容\n";
                                cout << "知识-10\n";
                                knowledge = max(0, knowledge-10);
                                sanity -= 15;
                            }
                        }
                    }
                    else if(daysSurvived == 3) {
                        cout << "食堂阿姨给你的饭菜里有可疑的黑色毛发\n";
                        cout << "A.勉强吃一些  B.偷偷倒掉\n";
                        cin >> choice[6];
                        
                        if(choice[6] == "A" || choice[6] == "a") {
                            cout << "食物尝起来像腐肉,但你的饥饿感减轻了\n";
                            cout << "饥饿+30 理智-15\n";
                            hunger += 30;
                            sanity -= 15;
                        } else {
                            cout << "你看到倒掉的食物在地上蠕动,像活物一样\n";
                            cout << "理智-10 饥饿-10\n";
                            sanity -= 10;
                            hunger -= 10;
                        }
                        
                        cout << "\n晚上11:50,你决定:\n";
                        cout << "A.留在学校调查  B.回家休息\n";
                        cin >> choice[7];
                        
                        if(choice[7] == "A" || choice[7] == "a") {
                            cout << "午夜钟声响起,整个建筑开始扭曲变形\n";
                            cout << "墙壁渗出鲜血,空气中充满痛苦的呻吟声\n";
                            cout << "当前知识: " << knowledge << "/100\n";
                            
                            if(knowledge >= 30) {
                                cout << "\n你注意到实验室有微弱的绿光\n";
                                cout << "A.前往实验室  B.去教室调查\n";
                                cin >> choice[8];
                                
                                if(choice[8] == "A" || choice[8] == "a") {
                                    cout << "实验室里,你发现了用内脏绘制的仪式阵\n";
                                    cout << "中央的烧杯中,一颗眼球正盯着你转动\n";
                                    cout << "知识+30 理智-20\n";
                                    knowledge += 30;
                                    sanity -= 20;
                                    
                                    cout << "\n黑影从四面八方聚集,形成一张张痛苦的面孔\n";
                                    cout << "A.使用学到的仪式对抗  B.逃跑\n";
                                    cin >> choice[9];
                                    
                                    if(choice[9] == "A" || choice[9] == "a") {
                                        if(knowledge >= 60) {
                                            cout << "仪式成功!你暂时封印了学校的异变\n";
                                            cout << "但你知道这只是暂时的...\n";
                                            cout << "理智+30 饥饿-20\n";
                                            sanity = min(100, sanity+30);
                                            hunger -= 20;
                                            Sleep(3000);
                                        } else {
                                            cout << "知识不足,仪式反噬!\n";
                                            cout << "你的手掌开始腐烂\n";
                                            cout << "理智-30\n";
                                            sanity -= 30;
                                        }
                                    } else {
                                        cout << "逃跑途中你被黑影缠绕,它们在你耳边尖叫\n";
                                        cout << "理智-25\n";
                                        sanity -= 25;
                                    }
                                } else {
                                    cout << "教室里,所有桌椅都在自行移动\n";
                                    cout << "黑板上浮现用血写成的你的名字\n";
                                    cout << "理智-25\n";
                                    sanity -= 25;
                                }
                            }
                        }
                    }
                    // 第4-7天内容
                    else if(daysSurvived >= 4 && daysSurvived <= 7) {
                        cout << "校园里的异常现象越来越明显\n";
                        cout << "同学中有几个人的行为变得怪异...\n";
                        cout << "A.调查同学  B.专注于生存  C.尝试逃离学校\n";
                        cin >> choice[10];
                        
                        if(choice[10] == "A" || choice[10] == "a") {
                            cout << "你发现三名同学在午夜进行奇怪的仪式\n";
                            cout << "他们的皮肤下有什么东西在蠕动...\n";
                            cout << "知识+20 理智-25\n";
                            knowledge += 20;
                            sanity -= 25;
                        } 
                        else if(choice[10] == "B" || choice[10] == "b") {
                            cout << "你专注于收集食物和水源\n";
                            cout << "饥饿+20 理智+5\n";
                            hunger += 20;
                            sanity = min(100, sanity+5);
                        }
                        else {
                            cout << "校门被无形的力量封锁\n";
                            cout << "保安亭里坐着没有脸的保安\n";
                            cout << "理智-15\n";
                            sanity -= 15;
                        }
                    }
                    // 第8-14天内容
                    else if(daysSurvived >= 8 && daysSurvived <= 14) {
                        cout << "学校已经完全异变,白天也变得昏暗\n";
                        cout << "你必须做出选择:\n";
                        cout << "A.寻找校长室  B.探索地下室  C.尝试净化仪式\n";
                        cin >> choice[11];
                        
                        if(choice[11] == "A" || choice[11] == "a") {
                            cout << "校长室里,你发现校长已经变成一具干尸\n";
                            cout << "但他的日记揭示了仪式的真相\n";
                            cout << "知识+40 理智-30\n";
                            knowledge += 40;
                            sanity -= 30;
                        } 
                        else if(choice[11] == "B" || choice[11] == "b") {
                            cout << "地下室堆满了被茧包裹的人形\n";
                            cout << "其中一个茧开始破裂...\n";
                            cout << "A.靠近观察  B.立即离开\n";
                            cin >> choice[12];
                            
                            if(choice[12] == "A" || choice[12] == "a") {
                                cout << "茧中是你自己的复制体,它睁开了眼睛...\n";
                                cout << "理智-40\n";
                                sanity -= 40;
                            } else {
                                cout << "你逃离时听到身后传来黏腻的爬行声\n";
                                cout << "理智-20\n";
                                sanity -= 20;
                            }
                        }
                        else {
                            if(knowledge >= 70) {
                                cout << "仪式部分成功,学校暂时恢复正常\n";
                                cout << "你获得了喘息的机会\n";
                                cout << "理智+40 饥饿+30\n";
                                sanity = min(100, sanity+40);
                                hunger = min(100, hunger+30);
                            } else {
                                cout << "仪式失败,引发了更强烈的异变\n";
                                cout << "理智-30\n";
                                sanity -= 30;
                            }
                        }
                    }
                    // 15天后内容
                    else if(daysSurvived >= 15) {
                        if(knowledge >= 90) {
                            cout << "你终于掌握了完整的净化仪式\n";
                            cout << "现在是终结这一切的时候了...\n";
                            cout << "A.在礼堂举行最终仪式  B.继续生存等待救援\n";
                            cin >> choice[13];
                            
                            if(choice[13] == "A" || choice[13] == "a") {
                                cout << "礼堂中,你与异界实体展开最终对决\n";
                                if(sanity >= 60) {
                                    cout << "仪式成功!你关闭了异界通道\n";
                                    cout << "学校开始恢复正常,但记忆将永远伴随你\n";
                                    Sleep(3000);
                                    system("cls");
                                    cout << "===============\n";
                                    cout << "   真结局\n";
                                    cout << "你拯救了所有人\n";
                                    cout << "生存天数: " << daysSurvived << endl;
                                    cout << "===============\n";
                                    break;
                                } else {
                                    cout << "你的理智不足,被仪式吞噬\n";
                                    sanity = 0;
                                }
                            }
                        }
                        
                        // 随机遭遇
                        int encounter = rand() % 3;
                        switch(encounter) {
                            case 0:
                                cout << "你遇到了幸存的同学,分享了一些食物\n";
                                hunger += 15;
                                break;
                            case 1:
                                cout << "走廊突然无限延伸,你跑了很久才逃脱\n";
                                sanity -= 15;
                                hunger -= 10;
                                break;
                            case 2:
                                cout << "你发现了一间未被污染的储藏室\n";
                                hunger += 25;
                                sanity += 10;
                                break;
                        }
                    }
                    
                    // 状态检查
                    if(sanity <= 0) {
                        system("cls");
                        cout << "===============\n";
                        cout << "   坏结局\n";
                        cout << "你失去了理智\n";
                        cout << "生存天数: " << daysSurvived << endl;
                        cout << "===============\n";
                        break;
                    }
                    
                    if(hunger <= 0) {
                        system("cls");
                        cout << "===============\n";
                        cout << "   坏结局\n";
                        cout << "你饿死了\n";
                        cout << "生存天数: " << daysSurvived << endl;
                        cout << "===============\n";
                        break;
                    }
                    
                    if(daysSurvived >= 30) {
                        system("cls");
                        cout << "===============\n";
                        cout << "   生存结局\n";
                        cout << "你成功活到了救援到来\n";
                        cout << "但学校依然被诅咒笼罩...\n";
                        cout << "===============\n";
                        break;
                    }
                    
                    // 每日结束
                    cout << "\n天色已晚,你决定:\n";
                    cout << "A.寻找安全处所休息  B.继续探索\n";
                    cin >> choice[14];
                    
                    if(choice[14] == "A" || choice[14] == "a") {
                        cout << "你找到一间相对安全的教室休息\n";
                        cout << "理智+10 饥饿-15\n";
                        sanity = min(100, sanity+10);
                        hunger -= 15;
                    } else {
                        cout << "夜晚的探索让你精疲力尽\n";
                        cout << "知识+5 理智-15 饥饿-20\n";
                        knowledge += 5;
                        sanity -= 15;
                        hunger -= 20;
                    }
                    
                    Sleep(2000);
                }
            }
        }
        
        cout << "\n感谢游玩!\n";
        system("pause");
        return 0;
    }
    Kick Ass - Destroy the web (把中间的按钮拖到上面书签栏,然后点一下,(↑,←,→,空格))
    
  • 通过的题目

  • 最近活动

  • 最近编写的题解

题目标签

循环
8
数组
5
模拟
4
奇偶数
3
递推
2
递归
2
字符串
1
搜索
1
枚举
1
二分
1
二维数组
1
if else
1
一维数组
1