测试点生成器,解决你烦恼!
2024-11-30 22:18:47
发布于:广东
前言:
本生成器用于出题时的造数据。
用法:
启动第一个程序。
开始的时候输入需要的测试点数量。
接着输入需要一个数字(0)还是一维数组(1)还是二维数组(2)。
接下来输入n的最小和最大。
最后输入数组(单个数)值的最小和最大。
把解决此问题的代码敲到代码2的第10行。
然后启动第二个程序,开始即结束。
程序结束后你就会发现你的桌面上多了一个“input”和“output”。接着一个一个粘上去就行了
代码 1:
#include <bits/stdc++.h>
#include <time.h>
using namespace std;
void init(){
srand(unsigned(time(NULL)));//生成种子
}
class mR{//随机器
bool check(int x,int l,int r){
return x % (r + 1) >= l;//判断是否符合要求
}
public:
int Rand(int l,int r){
int ans;
do ans = int(rand());
while(!check(ans,l,r));//不停随机直到数值符合要求
return ans % (r + 1);
}
}RAND;
int main(){
init();
cout << "-------------------------测试点生成器为您服务--------------------------\n\n";
int wei;
int lN,rN;
int lX,rX;
int T;
cout << "测试点数量:";
cin >> T;
cout << "要生成的维度:";
cin >> wei;
cout << "\nN:";
cin >> lN >> rN;//n最小,n最大
cout << "\nX:";
cin >> lX >> rX;//线性表中的数值最小、最大
freopen("input.in","w",stdout);
cout << T << "\n\n\n\n";
if(wei == 0){
for(int k = 1;k <= T;k ++){
cout << RAND.Rand(lX,rX);//一个数
cout << "\n\n\n\n";
}
} else if(wei == 1){
for(int k = 1;k <= T;k ++){
int n = RAND.Rand(lN,rN);
cout << n << endl;
for(int i = 0;i < n;i ++){//一维
cout << RAND.Rand(lX,rX) << " ";
}
cout << "\n\n\n\n";
}
} else {
for(int k = 1;k <= T;k ++){
int n = RAND.Rand(lN,rN);
int m = RAND.Rand(lN,rN);
cout << n << " " << m << endl;
for(int i = 0;i < n;i ++){//二维
for(int j = 0;j < m;j ++){
cout << RAND.Rand(lX,rX) << " ";
}
cout << endl;
}
cout << "\n\n\n\n";
}
}
fclose(stdout);
return 0;
}
代码 2:
#include <bits/stdc++.h>
using namespace std;
void solve(){
int t;
cin >> t;
cout << t;
while(t --){
//在下边补全函数
cout << "\n\n\n\n";
}
}
int main(){
freopen("input.in","r",stdin);
freopen("output.out","w",stdout);
solve();
fclose(stdin);
fclose(stdout);
return 0;
}
如有可以改进的地方可以在评论区提出。最后别忘记点个赞。
全部评论 1
#include <bits/stdc++.h> using namespace std; //填写解决程序 void solve(){ int t; cin >> t; cout << t; while(t --){ //在下边补全函数 cout << "\n\n\n\n"; } } int main(){ freopen("input.in","r",stdin); freopen("output.out","w",stdout); solve(); fclose(stdin); fclose(stdout); return 0; }
解决的代码在哪填?
2024-11-30 来自 河北
0t--下面
2024-11-30 来自 广东
0抱歉,有点迷惑,我就去吧上面那个删了
2024-11-30 来自 广东
0写main 和 头文件吗
2024-11-30 来自 河北
0
有帮助,赞一个