上海市计算机学会竞赛平台 | 2022 一星级挑战

  • 奖牌的数量
  • 数人数
  • 盈亏问题
  • 方舱医院
  • 数球数
  • 切蛋糕
  • 时间格式
  • 数字加密
  • 打渔还是晒网
  • 竞选班长
  • 做烧饼
  • 植树造林
  • 促销骰子
  • 逢七必过
  • 回文数的判定
  • 打印栅栏
  • 猴子吃桃
  • 数洞洞
  • 评委打分
  • 签到积分
  • 正规数的判定
  • 最大平方因子
  • 汽水兑换
  • 戴口罩
  • 多边形的判定
  • 偶位回文
  • 空心正方形
  • 疫苗接种
  • 增长与翻倍
  • 感应门

此文章仅供学习交流,不得抄袭刷分!!!

奖牌的数量

#include <iostream>
using namespace std;
int main() {int a, b, c;cin >> a >> b >> c;cout << 3 * a + 2 * b + c;return 0;
}

数人数

#include <iostream>
using namespace std;int main() {int a, b;cin >> a >> b;cout << a * 2 + b << endl << a + b;return 0;
}

盈亏问题

#include <iostream>
using namespace std;
int a, b, t;
int main() {cin >> t >> a >> b;cout << a + b << " " << t*(a + b) - a;return 0;
}

方舱医院

#include <iostream>
using namespace std;int main() {int a, b, c;cin >> a >> b >> c;cout << (a / c) * (b / c);return 0;
}

数球数

#include<iostream>
using namespace std;
int a, b, c;
int main() {cin >> a >> b >> c;cout << (a - b + c) / 2 << endl;cout << (a + b - c) / 2 << endl;cout << (b - a + c) / 2;return 0;
}

切蛋糕

#include <iostream>
using namespace std;
int n;
int main() {cin >> n;cout << 2 + (n - 1)*(2 + n) / 2;return 0;
}

时间格式

#include <iostream>
using namespace std;int main() {int time;cin >> time;cout << time / 3600 << ":";time = time % 3600;cout << time / 60 << ":";time = time % 60;cout << time % 60;return 0;
}

数字加密

#include <iostream>
#include <cstring>
using namespace std;int main() {char num[4];for (int i = 0; i < 4; ++i)cin >> num[i];for (int i = 0; i < 4; ++i) {if (num[i] == '0')num[i] = '9';else if (num[i] == '1')num[i] = '8';else if (num[i] == '2')num[i] = '7';else if (num[i] == '3')num[i] = '6';else if (num[i] == '4')num[i] = '5';else if (num[i] == '5')num[i] = '4';else if (num[i] == '6')num[i] = '3';else if (num[i] == '7')num[i] = '2';else if (num[i] == '8')num[i] = '1';else if (num[i] == '9')num[i] = '0';}swap(num[1], num[2]);swap(num[0], num[3]);cout << num;return 0;
}

打渔还是晒网

#include <iostream>
using namespace std;int main() {int n;cin >> n;if (n % 5 <= 3 && n % 5 != 0)cout << "Fishing";elsecout << "Lying";return 0;
}

竞选班长

#include <iostream>
using namespace std;
int main() {int a, b, c, d;cin >> a >> b >> c >> d;if (((a >= 90 && b >= 90) || (a >= 90 && c >= 90) || (b >= 90 && c >= 90)) && d >= 85)cout << "Qualified";elsecout << "Not qualified";return 0;
}

做烧饼

#include<iostream>
using namespace std;
int main() {int n, k;cin >> n >> k;if (k >= n)cout << 2;else {n *= 2;if (n % k == 0)cout << n / k;elsecout << n / k + 1;}return 0;
}

植树造林

#include<iostream>
using namespace std;
int main() {int a[3], max = 0, sum = 0;cin >> a[0] >> a[1] >> a[2];for (int i = 0; i < 3; i++)if (a[i] > max)max = a[i];for (int i = 0; i < 3; i++)sum += max - a[i];cout << sum;return 0;
}

促销骰子

#include <iostream>
using namespace std;
int a[3], count = 0;
int main() {cin >> a[0];if (a[0] == 6) {cin >> a[1];count = count + 10;if (a[1] == 6) {cin >> a[2];count = count + 90;if (a[2] == 6)count = count + 900;}}cout << count;return 0;
}

逢七必过

#include <iostream>
using namespace std;
int a, b;
int main() {cin >> a >> b;for (int i = a; i <= b; i++) {if (i % 7 == 0 || i % 10 == 7)cout << "pass" << endl;elsecout << i << endl;}return 0;
}

回文数的判定

#include <iostream>
using namespace std;
int num, m, sum = 0;
int main() {cin >> num; //将这个要判断的数输入进来m = num; //将这个值赋给变量mwhile (m) {sum = sum * 10 + m % 10;m /= 10; //等价于 m = m / 10;}if (num == sum) //判断倒着读跟正着读是否一样cout << "Palindromic Number" << endl;elsecout << "Non-Palindromic Number" << endl;return 0;
}

打印栅栏

#include <iostream>
using namespace std;int main() {int n, k;cin >> n >> k;for (int i = 0; i < n; ++i) {cout << "+" ;for (int j = 0; j < k; ++j)cout << "-";}cout << "+";return 0;
}

猴子吃桃

#include <iostream>
using namespace std;
int n, a;
int main() {cin >> n >> a;for (int i = 0; i < n; ++i)a *= 2, a -= 2;cout << a;return 0;
}

数洞洞

#include<iostream>
#include<string>
using namespace std;
string num;
int count = 0;
int main() {cin >> num;for (int i = 0 ; i < num.length() ; i++) {if (num[i] == '4' || num[i] == '6' || num[i] == '9' || num[i] == '0')count++;else if (num[i] == '8')count += 2;}cout << count;return 0;
}

评委打分

#include <iostream>
#include <algorithm>
using namespace std;int main() {int n;double sum = 0;cin >> n;int a[n];for (int i = 0; i < n; i++)cin >> a[i];sort(a + 0, a + n);a[n - 1] = 0;for (int i = 1; i < n; i++)sum += a[i];sum /= n - 2;printf("%.2f", sum);return 0;
}

签到积分

#include<iostream>
#include<string>
using namespace std;int main() {string s;int count = 0, book = 1, len;cin >> s;len = s.size() + 1;for (int i = 0 ; i < len; ++i) {if (s[i] == 'Y') {if (s[i - 1] == 'Y') {if (book >= 5)book = 5;elsebook++;count += book;} else {count++;}} else if (s[i] == 'N')book = 1;}cout << count;return 0;
}

正规数的判定

#include<iostream>
using namespace std;
int main() {long long n;cin >> n;for (int i = 2; i <= 5; ++i) {while (n % i == 0)n /= i;if (n == 1) {cout << "Regular Number";return 0;}}cout << "Irregular Number";return 0;
}

最大平方因子

#include<iostream>
#include<cmath>
using namespace std;
int n, maxx = 0;
int main() {cin >> n;for (int i = 1; i <= n; i++) {double num = sqrt(i);if (n % i == 0 && num == int(num))if (i > maxx)maxx = i;}cout << maxx;return 0;
}

汽水兑换

#include<iostream>
using namespace std;
int main() {int a, b, c, body, head;cin >> a >> b >> c;int sum = 0, t_body = 0, t_head = 0;sum = a;body = a;head = a;while (body >= b || head >= c) {sum += body / b;t_body = body;body -= (body / b) * b;body += t_body / b;head += t_body / b;sum += head / c;t_head = head;head -= (head / c) * c;head += t_head / c;body += t_head / c;}cout << sum;return 0;
}

戴口罩

#include<iostream>
using namespace std;
int n, day, count = 10;
int main() {cin >> n;while (count != n) {if (day % 7 == 6 || day % 7 == 5) {day++;count += 6;} else {day++;count--;}}cout << day;return 0;
}

多边形的判定

#include<iostream>
using namespace std;
int n;
long long a[100000], sum = 0;
int main() {cin >> n;for (int i = 0; i < n; i++) {cin >> a[i];sum += a[i];}for (int i = 0; i < n; ++i) {if (a[i] >= sum - a[i]) {cout << "No";return 0;}}cout << "Yes";return 0;
}

偶位回文

#include <iostream>
#include <cmath>
using namespace std;
long long n, sum = 0;
int main() {cin >> n;for (int i = 1; i <= n; i++) {long long lenn = 0, p = 0;int k = i, o = i;while (k) {          // 位数k /= 10;lenn++;}p += o * pow(10, lenn);       // 前半部分lenn--;for (lenn; o > 0; lenn--) {        // 颠倒,加和p += o % 10 * pow(10, lenn);o /= 10;}sum += p;}cout << sum;return 0;
}

空心正方形

#include <iostream>
using namespace std;int main() {int n;cin >> n;for (int i = 0; i < n - 1; ++i)cout << "*" ;cout << "*" << endl;for (int i = 0; i < n - 2; ++i) {cout << "*";for (int j = 0; j < n - 2; ++j)cout << " ";cout << "*" << endl;}for (int i = 0; i < n; ++i)cout << "*" ;return 0;
}

疫苗接种

#include<iostream>
using namespace std;
int main() {int y, m, d;bool flag = false;char P;cin >> y >> P >> m >> P >> d;if (y % 4 == 0 && y % 100 != 0 || y % 400 == 0)flag = true;d += 14;if (d > 28) {if (m == 2 && flag == false) {m++;d -= 28;}if (m == 2 && flag == true) {if (d > 29) {m++;d -= 29;}}if (m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12) {if (d > 31) {d -= 31;m++;}}if (m == 4 || m == 6 || m == 9 || m == 11) {if (d > 30) {d -= 30;m++;}}if (m > 12) {y++;m -= 12;}}cout << y << P << m << P << d;return 0;
}

增长与翻倍

#include<bits/stdc++.h>
using namespace std;
int main(){int s,t,ans=0;cin>>s>>t;while (s<t){if (t%2==1) t--;else if (t/2>=s) t/=2;else break;ans++;}ans+=t-s;cout<<ans;return 0;
}

感应门

#include<iostream>
using namespace std;
int n, x, i;
int time = 0;
int main() {cin >> n >> x;int t[n + 2];for (i = 1; i <= n; ++i)cin >> t[i];for (i = 2; i <= n; ++i) {if (t[i - 1] + x >= t[i]) {time += t[i] - t[i - 1];} else {time += x;}}cout << time + x;return 0;
}

上海市计算机学会竞赛平台一星级挑战相关推荐

  1. 上海市计算机学会竞赛平台二星级挑战

    上海市计算机学会竞赛平台 | 2022 二星级挑战 康托表 打印K型 计算天数(Python) 黑色星期五 分割队伍 调配问题(一) 阶乘的余数 驼峰与蛇 四方定理 数根 IP地址 最年长的人 选科组 ...

  2. 上海市计算机学会竞赛平台三星级挑战

    上海市计算机学会竞赛平台 | 2022 三星级挑战 最大回撤 最后一击 平衡点 栈的判断 排队安排 逆波兰式 股票市场 城市的中心 伙伴 两数之和 阶乘求和(Python3.6) 连乘问题 随机性验证 ...

  3. 上海市计算机学会竞赛平台(iai.sh.cn)2023三月月赛(丙组)解题报告

    前言 总的来说这次的丙组偏简单,像我这个菜鸟都能在赛场上AK,之前的比赛后两题会有递归搜索并且要有一定的数学思维,但这次并没有什么高深的算法或者数学思维. 一到三题不用多说,是模拟题,可能带点技巧.从 ...

  4. 屏幕比例c++ 上海市计算机学会竞赛平台8月月赛第2题

    题目描述 现实生活中,我们一般把屏幕的宽度和高度的比例,称为屏幕比例,或称为屏幕长宽比.例如分辨率为 1920 * 1080 的屏幕,其长宽比即为 16 : 9 现给定一个屏幕的分辨率,以 X * Y ...

  5. 上海市计算机学会竞赛平台.2023年1月月赛丙组

    T1 实验日志 题目描述 小爱正在完成一个物理实验,为期n天,其中第i天,小爱会记录 a i a_i ai​ 条实验数据在实验日志中. 已知小爱的实验日志每一页最多纪录m条数据,每天做完实验后他都会将 ...

  6. 上海市计算机学会竞赛 2023.1 丙组月赛

    上海市计算机学会竞赛 2023.1 丙组月赛 T1 实验日志 题目描述 小爱正在完成一个物理实验,为期 n n n天,其中第 i i i天,小爱会记录 a i a_i ai​ 条实验数据在实验日志中. ...

  7. 上海市计算机学会-买二送一

    上海市计算机学会竞赛平台 | YACS 题目描述 有n 本书,第 i本书的价格为 ai​,小爱想把这些书全部买回家.现在正有一个买二送一的促销活动,即,凡是购买两本书,就可以免费带走第三本书,只要免费 ...

  8. 上海市计算机学会2022年10月月赛丙组解题报告

    上海市计算机学会2022年10月月赛丙组解题报告 直角三角形的判定 题目描述 给定三个正整数表示三角形的三条边,请判定它是否为直角三角形 输入格式 第一行:三个整数 a,b 与 c 输出格式 若可以构 ...

  9. 上海市计算机学会月赛 2022年9月月赛丙组

    上海市计算机学会月赛 2022年9月月赛丙组 这次题目真的衡水 矩形的周长与面积 机会成本 三色排序 阶乘尾数 前序中序转后序 这次题目真的衡水 文章拖了好久忘记发了 明天初赛祝各位考试顺利有一个好的 ...

最新文章

  1. 自动生成纯文本表格的工具
  2. mysql实训报告_mysql数据库技术》实验报告.doc
  3. 转:AIX rcp跨主机远程拷贝数据
  4. benchmark mysql_程序员的MySQL手册(二): 监控与benchmark
  5. spring中的BeanFactoryPostProcessor
  6. mysql中的存储过程和函数
  7. Windows socket c++ TCP UDP 简单客户端 vs2013
  8. 10.1引用数据类型的转换
  9. python多核运行程序怎么关闭_在多核上运行程序
  10. RPC简介及框架选择
  11. react 组件引用组件_React Elements VS React组件
  12. 工作401-普通编译模式
  13. 服务器虚拟化的培训,VMware服务器虚拟化及桌面虚拟化培训.pptx
  14. 【JVM】三色标记法与读写屏障
  15. MAPGIS提示请在“系统设置”里设置好系统库路径(SUVSLIB或者其他)再重新运行程序
  16. 独自封装windows 10系统详细教程(二)
  17. 跟叶子猿学习JVM(二)Java虚拟机内存管理
  18. basler相机详细使用说明
  19. java的Swing框架简介
  20. NET 2.0(C#)调用ffmpeg处理视频的方法

热门文章

  1. AES加密解密(CBC模式)
  2. 什么是主板芯片组的南桥和北桥?
  3. YOLOV2算法详述
  4. Ethernet 防雷及ESD二极管保护设计
  5. 基于Pytorch的简单深度学习项目实战
  6. 三极管和MOS管用于开关控制笔记
  7. 《铜豌豆 Linux》11.5.1 版本发布
  8. yzh 第十一课 ELF文件和链接
  9. 2023上半年纽约时报写作大赛系列
  10. 回合制游戏-------------------------------------------起步(一)