首页 > 其他分享 >模拟测试题解

模拟测试题解

时间:2023-05-12 11:13:14浏览次数:46  
标签:std main 测试题 int namespace using include 模拟

题目链接:https://vjudge.csgrandeur.cn/contest/557480

A OJ维护中

计算 a+b(0<=a,b<=10)。

点击查看代码
#include<iostream>
using namespace std;

int main(){
    int a,b; cin>>a>>b;
    cout<<a+b;
    return 0;
}

B 不支持python

队列报数,直接模拟即可。

点击查看代码
#include<iostream>
#include<queue>
using namespace std;
queue<int> que;
int main(){
    int n,m; cin>>n;
    for(int i=1; i<=n; i++){
        queue<int> que;
        cin>>m;
        for(int j=1; j<=m; j++) que.push(j);
        int flag=2;
        while(que.size()>3){
            if(flag==2){
                int len = que.size();
                for(int k=1; k<=len; k++){
                    if(k%2!=0) que.push(que.front());
                    que.pop();
                }
                flag=3;
            }else if(flag==3){
                int len = que.size();
                for(int k=1; k<=len; k++){
                    if(k%3!=0) que.push(que.front());
                    que.pop();
                }
                flag=2;
            }
        }
        while(que.size()>1){
            cout<<que.front()<<" "; que.pop();
        } cout<<que.front()<<endl;
    }
    return 0;
}

C 不支持python

找一个可以去重和排序的容器就可以,比如 set

点击查看代码
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=1e6+10, INF=0x3f3f3f3f;

int main(){
    int n,m,x;
    while(cin>>n>>m){
        set<int> s;
        for(int i=1; i<=n+m; i++) cin>>x, s.insert(x);
        int f=0;
        for(auto u:s){
            if(f) cout<<" ";
            cout<<u;
            f=1;
        }
        cout<<endl;
    }
    return 0;
}

D OJ维护中

编写一个C程序,实现两个分数的加减法。
分析:gcd 模板题

点击查看代码
#include<iostream>
#include<cstdio>
using namespace std;
const int N=1e4+10, inf=0x3f3f3f3f;

int gcd(int a,int b){
    return b?gcd(b, a%b):a;
}
int main() {
    char s[20];
    while(scanf("%s", s)!=EOF){
        int a,b,c,d,f=1,ans1,ans2,temp;
        char o;
        sscanf(s, "%1d/%1d%c%1d/%1d",&a,&b,&o,&c,&d);
        if(o=='+') ans1 = a*d + b*c, ans2=b*d;
        else if(o=='-') ans1 = a*d - b*c, ans2=b*d;

        if(ans1<0) f=-1, ans1=-ans1;
        temp = gcd(ans1, ans2);
        ans1 = f*ans1/temp;
        ans2 = ans2/temp;
        if(ans1==0) puts("0");
        else if(ans2==1) printf("%d\n", ans1);
        else printf("%d/%d\n",ans1,ans2);
    }
    return 0;
}

E OJ维护中

编写一个C函数mod(int n, int m),实现取模运算%
分析:数据很小,直接取模就行,这个代码不知道是好久的古董了

点击查看代码
#include<iostream>
#include<cstdio>
//#define DEBUG
using namespace std;
const int N=2e5+10, INF=0x3f3f3f3f;

int mod(int n,int m) {
    return n%m;
}
int main() {
#ifdef DEBUG
    freopen("data.in", "r", stdin);
//    freopen("data.out", "w", stdout);
#endif

    int n,m;
    while(cin>>n>>m){
        cout<<mod(n,m)<<endl;
    }
    fclose(stdin), fclose(stdout);
    return 0;
}

F 可以提交任何语言

一个西瓜的重量为 w,问是否可以将其分成两部分,使得两部分的重量都为正偶数。
分析:直接判断就行,注意细节

点击查看代码
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;

int main() {
    int n;
    while(~scanf("%d",&n)) {
        if(n%2==0 && n/2+ceil(n/2)==n && n/2>1) puts("YES");
        else puts("NO");
    }
    return 0;
}

G 可以提交任何语言

计算 a+b (0≤a,b≤9).
分析:scanf 格式化处理很好

点击查看代码
#include<bits/stdc++.h>
using namespace std;

int main() {
    int t,a,b; scanf("%d", &t);
    while(t--){
        scanf("%d+%d",&a,&b);
        printf("%d\n",a+b);
    }
    return 0;
}

标签:std,main,测试题,int,namespace,using,include,模拟
From: https://www.cnblogs.com/hellohebin/p/17393423.html

相关文章

  • 【2023.05.07 模拟赛】T3 树数树
    Description牛牛有一棵\(n\)个点的有根树,根为1。我们称一个长度为\(m\)的序列\(a\)是好的,当且仅当:\(\foralli\in(1,m],\mathrm{a}_{\mathrm{i}}\)为\(\mathrm{a}_{\mathrm{i}-1}\)的祖先或\(\mathrm{a}_{\mathrm{i}-1}\)是\(\mathrm{a}_{\mathrm{i}}\)的......
  • 【兼容性】Chrome浏览器模拟设置不同分辨率
    1、起因有时候软件系统UI的分辨率有特殊的要求(手机端的,或者是大屏幕显示器),通过浏览器查看的时候,需要设置相同的分辨率。查看页面是否布局不符合要求 2、设置方法点击浏览器右侧三个点-》更多工具-》开发者工具,或者F12直接打开点击右上角设置 点击设备 点击添加自定......
  • C/C++模拟银行排队叫号系统[2023-05-11]
    C/C++模拟银行排队叫号系统[2023-05-11]2、模拟银行排队叫号系统(难度等级A)[问题描述]模拟实现银行的排队叫号系统。[基本要求](1)假定银行上午9点开门,下午5点关门,期间每个小时的客流量不超过35人;(2)每个客户的基本信息包括:到达银行时间、业务需要办理的时长。这两项数据均......
  • matlab程序,改进人工势场法模拟机器人路径规划与避障,障碍物的个数和坐标可以手动修改。
    matlab程序,改进人工势场法模拟机器人路径规划与避障,障碍物的个数和坐标可以手动修改。程序采用了模糊规则与人工势场算法相结合的方式来实现路径规划与避障。起点坐标,终点坐标,障碍物坐标,障碍物个数都可以在程序里直接改。ID:3960662710091016......
  • SA-BP模拟退火算法优化BP神经网络做时间序列预测,做多输入单输出系统的预测Matlab程序,
    SA-BP模拟退火算法优化BP神经网络做时间序列预测,做多输入单输出系统的预测Matlab程序,预测精度很高。ID:1985662031870152......
  • 模拟退火算法做路径规划,解决TSP问题。
    模拟退火算法做路径规划,解决TSP问题。ID:4360618365509805......
  • 记录如何在vue中使用mock模拟数据
    1.mock介绍mock:假的。mock数据意思是:真的假数据。【真的即为符合接口规范要求的。假数据:数据是自己造的,不是真实数据。】mock实现方式操作流程:1.本地启mock服务器【用express写接口或本地用专门的mock服务】2.线上的mock服务器mock.js基本语法介绍:mock.js基本语法......
  • Statcom:基于MATLAB/Simulink的静止无功补偿器仿真模型,负载端加入断路器模拟断路故障。
    Statcom:基于MATLAB/Simulink的静止无功补偿器仿真模型,负载端加入断路器模拟断路故障。仿真条件:MATLAB/SimulinkR2015bID:4750647354331368......
  • 【GDOI2020模拟02.05】生成树 (矩阵树扩展)
    Description:给定一张N个点,M条边的无向图,边有红、绿、蓝三种颜色,分别用1,2,3表示。求这张图有多少生成树,满足绿色边数量不超过x,蓝色边数量不超过y,答案对10^9+7取模。n<=40题解:考虑正常的用矩阵树求生成树个数的方法。基尔霍夫矩阵里的每个位置只是一个数,事实上可以把它扩......
  • CodeForces - 626B Cards (全排列&模拟)
    TimeLimit: 2000MS MemoryLimit: 262144KB 64bitIOFormat: %I64d&%I64uCodeForces-626BCardsSubmit StatusDescriptionCatherinehasadeckof ntakeanytwo(notnecessarilyadjacent)cardswithdifferentcolorsandexchangethemforanewcardof......