OJ题目创意征集公告

Wind_Rises 砂糖老师 2024-12-05 14:45:04 2025-10-10 10:34:54 140

因为 上大部分用户没有新建题目的权限或者不会造数据,但又有出题的想法。同时为了丰富 题库资源,激发大家的创造力,现向全体用户征集题目创

意!无论是你原创的独特题目,还是从生活或学习中获得的灵感,都欢迎投稿。

我们将根据题目质量进行筛选,并将采用的题目,在题面提示中标注为 感谢XXX提供的题面

投稿要求:

1.格式清晰明确:请按照固定模板提供题目名称、题目背景or描述、输入输出格式、样例及范围提示等完整信息(请分段 请勿使用Markdown 不然复制不了)。

2.解题程序:请使用 ```cpp ``` 格式提供标准 AC 程序。

3.题目原创与借鉴:如为原创作品,请注明 原创题目 ;如为借鉴,有来源请注明来源。

4.避免重复:提交前请先搜索题库,确认没有相同题目。

提示:

1.如果遇到公式的 Markdown 格式不会可以发截图。

2.如果题目中涉及图片,请一并发送或提供链接。


题目都发在粘贴板里面,这里贴一个链接就好

如果非题目提供者复制AC程序 提交通过题目将被警告甚至封禁的后果
{{ vote && vote.total.up }}

共 65 条回复

lhy228 我不是混子我没罪

帮助dzc写的AC代码

飘来了飘来了

一个测试点写错了

#include <bits/stdc++.h>
using namespace std;

int main() {
/////////////////////////////////////////////////////////////////////////////
//                            _ooOoo_                                      //
//                           o8888888o                                     //
//                           88" . "88                                     //
//                           (| ^_^ |)                                     //
//                           o\  =  /o                                     // 
//                        ____/'---'\____                                  //
//                       :  \\|     |//  :                                 //
//                      / \\|||  :  |||// \                                //
//                     / _||||| -:- |||||_ \                               //
//                     |  | \\\  -  /// |  |                               //
//                     | \_| ''\---/''  |  |                               //
//                     \ .-\__       __/-. /                               //
//                    __`. .' /--.--\ '..` __                              //
//                  ."" '<`.__\_<|>_/_-.'>'"".                             //
//                || : `- \`.;` \_/`;.`/ -` : ||                           //
//                \\ `-.   \_ __\/__ _/  .-` //                            //
//         ========`-.___`-.__\_____/__.-`__.-`========                    //
//                            '=---='                                      //
//         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                    //
//         佛祖保佑           永无bug       永不修改                          //
/////////////////////////////////////////////////////////////////////////////
	long long zp;
	cin>>zp;
	if(zp==0){
		cout<<"ZP他们在玩游戏"<<endl<<"全都给我去关禁闭15分钟!!!";
		return 0;
	}
	else if(zp<=5&&zp>0){
		cout<<"飘来了飘来了";
		return 0;
	}
	else if(zp>5&&zp<=10){
		cout<<"飘没来继续play games";
	return 0;
	}
	else if(zp>=11&&zp<=15){
		cout<<"ZP is smoking";
		return 0;
	}
	else if(zp>=16){
		cout<<"飘来了飘来了"<<endl<<"666被Zej耍了";
		return 0;
	}
}

邪恶dzc被封小号换大号了

lhy228 我不是混子我没罪

补充:

偷懒的学生

没有空格

Xi按从小到大输出,不用排序

lhy228 我不是混子我没罪

AC代码:

偷懒的学生

#include <bits/stdc++.h>
using namespace std;
string dm[10005];
string clzf(string wc){
	int r;
	string dzc="";
    int l;
    if(wc.size()%2==0) l=wc.size()-1;
    else l=wc.size();
	for(r=0;r<=l;r++){
		if(r%2==0) dzc=dzc+wc[r];
	}
	return dzc;
}


int main() {
/////////////////////////////////////////////////////////////////////////////
//                            _ooOoo_                                      //
//                           o8888888o                                     //
//                           88" . "88                                     //
//                           (| ^_^ |)                                     //
//                           o\  =  /o                                     // 
//                        ____/'---'\____                                  //
//                       :  \\|     |//  :                                 //
//                      / \\|||  :  |||// \                                //
//                     / _||||| -:- |||||_ \                               //
//                     |  | \\\  -  /// |  |                               //
//                     | \_| ''\---/''  |  |                               //
//                     \ .-\__       __/-. /                               //
//                    __`. .' /--.--\ '..` __                              //
//                  ."" '<`.__\_<|>_/_-.'>'"".                             //
//                || : `- \`.;` \_/`;.`/ -` : ||                           //
//                \\ `-.   \_ __\/__ _/  .-` //                            //
//         ========`-.___`-.__\_____/__.-`__.-`========                    //
//                            '=---='                                      //
//         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                    //
//         佛祖保佑           永无bug       永不修改                          //
/////////////////////////////////////////////////////////////////////////////
string syl;
	int n,x[10005],i,j,k=1,m=1,znb1,znb2,zej;
	cin>>n;
	for(i=1;i<=n;i++){
		cin>>x[i];
	}
	while(cin>>dm[k]){
		k++;
		cout<<dm[k];
	}
	k--;
	for(j=1;j<=k;j++){
		syl="";
		if(j+1==x[m]){
            znb1=(clzf(dm[j])).size();
            znb2=(clzf(dm[j+1])).size();
            zej=znb1+znb2;
            if(zej%2==0) zej=zej/2;
            else zej=zej/2+1;
            for(i=0;i<zej;i++)
        syl=syl+(clzf(dm[j]))[i]+(clzf(dm[j+1]))[i];
			m++;
            cout<<syl<<endl;
		}
		else cout<<clzf(dm[j])<<endl;
	}
	
}
lhy228 我不是混子我没罪

原创

偷懒的学生

题目描述

今天,爱smorking的zp暴怒,罚我们背下神秘的代码,but爱水课的zp又去smorking了,所以很混的zej(lhy228)和更混的dzc(wc022/wc0222)决定把代码只背一半。

输入格式

第一行输入n,第二行输入n个数表示Xi,接着输入不知道多少行,神秘代码(因为头文件的某个字符输出不了,所以统一换成"?"详见样例

输出格式

每行从第一个字符开始隔一个字符输出,如果在Xi行,那么就把本行与上一行合并,上行第一个在前,每输出一个上一行字符再输出一个本行字符,空格不算字符(其实也没放什么空格),详见测试点

样例输入1:

0

#include?iostream?

#include?cmath?

样例1输出:

#nld?otem

#nld?mt?

样例1解释:

从#开始,隔一个输出#in输出#n

样例二:

1

2

#include?iostream?

usingnamespacestd;

intmain()

{

cout??"HelloWorld"??endl;

return0;

}

输出:

#unilgda?eoptcesmd

itan)

{

cu?"elWrd?ed;

rtr0

}

样例二解释:

先换成偷懒原模式

#nld?otem

uigaepcsd

itan)

{

cu?"elWrd?ed;

rtr0

}

按提题意输入中“2”合并第二行和第上行,把

#nld?otem

uigaepcsd

合并:先是上一行#,再是本行的u,重复操作,得到#unilgda?eoptcesmd

数据范围

保证100%的数据,有代码,并且保证Xi>=2

保证相当一部分数据,n=0

AC代码或测试点晚点给出

wc0222

原创:飘来了飘来了

题目前言:在WC教育中,ZP可是一位严厉的牢师,作为他的薛生,一定体验过ZP手中的“杀猪刀”(把手放在你脖子后面,疯狂割你的脖子......)

(因为ZP讨厌我们刷水题,所以这题是个娱乐性极高的水题,初学者可以放心刷,没有坑)(这段前言也要加到题目中,这个括号里的话不要加进题目中)

题目描述:Zej(lhy228)是位拥有“蜘蛛感应”的替身使者,他总是知道ZP有没有来看我们有没有学习(因为我们在play games)

如果他感应到ZP距离我们这群“郝雪生”小于等于5米大于0米就输出:“飘来了飘来了”;

如果是在6到10米之间(包括6和10)就输出:“飘没来继续play games”;

如果在11到15米之间(包括11和15米)就输出:“ZP is smoking”;

如果大于等于16米Zej就会犯贱就输出:“飘来了飘来了”然后同学们赶紧停止“学习”去“玩游戏”然后发现ZP没来,再换行输出一句:“666被Zej耍了”

特判:如果正好等于0米,Zej就会卖队友将功补过:“ZP他们在玩游戏” 换行 然后ZP怒吼一句:“全都给我去关禁闭15分钟!!!”

输入格式

第一行输入1个>=0且<=10的十次方的整数n。

接下来输出一行,如题目描述。

样例1输入:

5

样例1输出:

飘来了飘来了

样例2输入:

8

样例2输出:

飘没来继续学习

测试点(共十个)

测试点1:

输入:

3

输出:

飘来了飘来了

测试点2:

输入:

34

输出:

飘来了飘来了

666被Zej耍了

测试点3:

输入:

9

输出:

飘没来继续play games

测试点4:

输入:

7

输出:

飘没来继续play games

测试点5:

输入:

11

输出:

ZP is smoking

测试点6:

输入:

13

输出:

ZP is smoking

测试点7:

输入:

0

输出:

ZP他们在玩游戏

全都给我去关禁闭15分钟!!!

测试点8:

输入:

10

输出:

飘没来继续play games

测试点9:

输入:

15

输出:

ZP is smoking

测试点10:

输入:

10000000000

输出:

飘来了飘来了

666被Zej耍了

wc0222

补充:输入格式单位是米

wc0222

@Wind_Rises

没给标准代码给了测试点,防止有人抄代码 其实就是我太懒了,不想写,一个水题谁会抄

wchzm 蛋仔派对 蛋小黑

666Markdown还是太高级了必须削弱

wchzm 蛋仔派对 蛋小黑

原创:感受痛苦吧

佩恩需要将查克拉能量分配给多个地爆天星核心,每个核心至少需要1单位能量。给定总能量M和核心数量N,计算有多少种分配方式(顺序不同视为相同),并要求在最优分配下,最大能量核心与最小能量核心的差值不超过K(佩恩的“痛苦均衡”约束)

‌## 输入格式‌: 第一行T(测试用例数) 每行三个整数M, N, K(1≤M,N≤100,0≤K≤M) ‌## 输出格式‌: 每组数据输出两种结果: 无约束时的分配方案数(鸣人影分身问题变种) 满足“痛苦均衡”约束的方案数 ‌## 样例输入‌: 2 10 3 2 5 2 1

样例输出‌: 8 6 2 1

AC代码

#include <iostream>
#include <vector>
#include <queue>
#include <climits>
using namespace std;

const int MAX_N = 1e5 + 5;
vector<pair<int, int>> adj[MAX_N];
int dist[MAX_N];
bool processed[MAX_N];

void dijkstra(int start, int n) {
    for (int i = 1; i <= n; i++) {
        dist[i] = INT_MAX;
        processed[i] = false;
    }
    dist[start] = 0;
    priority_queue<pair<int, int>> q;
    q.push({0, start});
    
    while (!q.empty()) {
        int a = q.top().second; q.pop();
        if (processed[a]) continue;
        processed[a] = true;
        for (auto [b, w] : adj[a]) {
            if (dist[a] + w < dist[b]) {
                dist[b] = dist[a] + w;
                q.push({-dist[b], b});
            }
        }
    }
}

int main() {
    int n, m, k;
    cin >> n >> m >> k;
    
    while (m--) {
        int a, b, w;
        cin >> a >> b >> w;
        adj[a].push_back({b, w});
        adj[b].push_back({a, w});
    }
    
    vector<int> targets(k);
    for (int i = 0; i < k; i++) {
        cin >> targets[i];
    }
    
    dijkstra(1, n);
    
    int max_dist = 0;
    for (int t : targets) {
        if (dist[t] > max_dist) {
            max_dist = dist[t];
        }
    }
    
    cout << "感受痛苦吧!最大距离: " << max_dist << endl;
    return 0;
}
Wind_Rises 砂糖老师