T1

#include <iostream>
using namespace std;int main()
{int n;cin >> n;int a = 1;//初始化,0刀是一块for(int i = 1; i <= n; i++){//切第i刀时会多i块a += i;}cout << a;return 0;
}

T2

#include <iostream>using namespace std;int main()
{string s;cin >> s;int len = s.size();for(int i = 0; i < len - 4; i++){if('b' == s[i] && 'l' == s[i + 1] && 'a' == s[i + 2] && 'c' == s[i + 3] && 'k' == s[i + 4]){s[i + 2] = 'o';}}cout << s;return 0;
}

T3

解法一

#include <iostream>
#include <cmath>
using namespace std;int main()
{int n;cin >> n;for(int i = -n; i <= n; i++){cout << "**";int x = abs(i);if(0 == x)  //中间那行特判{cout << '*';}for(int j = 1; j <= x; j++){cout << ' ';}for(int j = 1; j <= x; j++){cout << '*';}cout << endl;}return 0;
}

解法二:Zirui代码

#include <iostream>
#include <cmath>
using namespace std;int main()
{int n;cin>>n;int tmp=n;for ( int i=0; i<n*2+1; i++ ){cout << "**";for ( int j=0; j<abs(tmp); j++ ){cout << " ";}if ( tmp==0 ) //中间行加空格{cout << "*";}for ( int j=0; j<abs(tmp); j++ ){cout << "*";}tmp--;cout << endl;}return 0;}

T4

解法一

#include <bits/stdc++.h>
using namespace std;const int maxN = 100000 + 5;
long long p[maxN];int main()
{//freopen("T4.in", "r", stdin);int n, m;long long c;cin >> n >> m;long long total = 0;for(int i = 1; i <= n; i++){cin >> p[i] >> c;if(c > 0){//j必须在保质期内for(int j = max(1, i - m); j <= i; j++){if(p[j] >= c)//第j天的牛奶满足需求,且有剩余{total += c;p[j] -= c;c = 0;break;}else    //第j天的牛奶少于需求,则下一天的牛奶也要卖{total += p[j];c -= p[j];p[j] = 0;}}}}cout << total;return 0;
}

解法二:Theo代码

#include <iostream>
#include <queue>
#define LL long long
using namespace std;struct milk
{int amount;int produced;
};int n, m;
deque<milk> que;int main()
{cin >> n >> m;LL tot = 0;for(int i = 1; i <= n; i++){int p, c;cin >> p >> c;que.push_back({p, i});while (!que.empty()){if(i - que.front().produced > m){que.pop_front();}if(que.front().amount > c){tot += c;que.front().amount -= c;break;}if(que.front().amount == c){tot += c;que.pop_front();break;}if(que.front().amount < c){tot += que.front().amount;c -= que.front().amount;que.pop_front();}}}cout << tot << endl;return 0;
}

T5

解法一:70分代码

#include <iostream>
using namespace std;const int maxN = 100;
int n, m, k, sum[maxN][maxN];
char  a[maxN][maxN];void input()
{cin >> n >> m >> k;for(int r=1; r<=n; r++){for(int c=1; c<=m; c++){cin >> a[r][c];}}
}//求二维数组前缀和
void getPreSum()
{for(int r=1; r<=n; r++){for(int c=1; c<=m; c++){sum[r][c] = sum[r-1][c] + sum[r][c-1] - sum[r-1][c-1] + (a[r][c] == '.');}}
}int getSum(int r1, int c1, int r2, int c2)
{return sum[r2][c2] - sum[r1-1][c2] - sum[r2][c1-1] + sum[r1-1][c1-1];
}int main()
{//freopen("T5.in", "r", stdin);input();getPreSum();const int INF = 2100000000;int minArea = INF;for(int r1 = 1; r1 <= n; r1++){for(int c1 = 1; c1 <= m; c1++){for(int r2 = r1; r2 <= n; r2++){for(int c2 = c1; c2 <= m; c2++){if(getSum(r1, c1, r2, c2) >= k && (r2 - r1 + 1) * (c2 - c1 + 1) < minArea){minArea = (r2 - r1 + 1) * (c2 - c1 + 1);}}}}}if(minArea == INF){cout << "No Solution";}else{cout << minArea;}return 0;
}

解法二: 尺取法

#include<bits/stdc++.h>
using namespace std;
char x;
int n,m,num,need,ans = 1e9,a[1101][1101];void getSectionSum(int l,int r)
{int emptySeats = 0, up = 1, down = 1;for(; up <= n; up++){for(; down <= n && emptySeats < need; down++){emptySeats += a[down][r] - a[down][l - 1];}if(emptySeats < need){break;}//down最后又自加了一次,所以down-up不用再+1ans = min(ans,(r - l + 1) * (down - up));emptySeats -= a[up][r] - a[up][l - 1];}
}int main()
{//freopen("T5.in", "r", stdin);cin >> n >> m >> need;for(int i = 1; i <= n; i++){for(int j = 1; j <= m; j++){cin>>x;num += (x == '.');a[i][j] = a[i][j - 1] + (x == '.');}}if(num < need){cout<<"No Solution"<<endl;return 0;}for(int l = 1; l <= n; l++){for(int r = l; r <= m; r++){getSectionSum(l, r);}}cout<<ans<<endl;return 0;
}
了解中小学信息学竞赛请加微信307591841(QQ同号)

上海青少年算法竞赛-6月月赛参考代码相关推荐

  1. 上计会青少年算法竞赛3月月赛

    3月月赛丙组题 https://iai.sh.cn/contest/3 打鱼还是晒网 5天一个周期,如果 n 除以5的余数是4或者0,就是晒网:否则就是打鱼 注意:任何正整数除以 r 的余数的范围是 ...

  2. 第三届上海市青少年算法竞赛题解

    第三届上海市青少年算法竞赛题解 T1 数洞洞 #include<bits/stdc++.h> using namespace std; int a[11]={0,1,0,0,0,1,0,1 ...

  3. 2022年美国大学生数学建模竞赛各题型常见参考代码汇总

    美赛A题常见参考代码 美赛B题常见参考代码 美赛C题常见参考代码 美赛D题常见参考代码 美赛E题常见参考代码 美赛F题常见参考代码 代码链接:https://download.csdn.net/dow ...

  4. 第四届上海市青少年算法竞赛(小学组)线上同步赛 T3 连环画

    题目描述 有一套正在连载的连环画.一开始,小爱只有其中的 n 本画册,它们在连环画中的序号分别为 a1​,a2​,-,an​.这些画册不到整部漫画的一半,也就是说,连环画的画数是超过 2×n 的. 小 ...

  5. 上海市青少年算法月赛丙组—目录汇总

    上海市青少年算法2023年6月月赛(丙组) T1 差分求和 T2 二进制异或 T3 颜文字 T4 选取子段(二) T5 观光单车 ​​​​​​​上海市青少年算法2023年5月月赛(丙组) T1 三角形 ...

  6. 上海11月月赛乙组解题报告

    上海11月月赛乙组解题报告 1.数对统计 题目描述 给定 n 个数字 a1,a2,--,an,请从中挑选两个数字,并按原顺序组成一个数对.请问能选出多少种不完全相等的数对? 输入格式 第一行,单个整数 ...

  7. 上海2022年11月月赛丙组

    上海2022年11月月赛丙组 T1~T4略 T5 出栈序列 题目描述 给定一个长度为 n n n的.仅由小写字母组成的字符串,将其按序依次放入栈中. 请问在所有可能的出栈序列中,字典序最小的出栈序列是 ...

  8. 2021年6月组会分享--算法竞赛入门及背包问题解析

    一 竞赛简介 万恶之源 各种竞赛知识的汇总. 1. 赛制介绍 赛制介绍 2. 平台介绍 leetcode 主找工作,周赛/双周赛,每周都有,时间短,可查看别人的代码,学习别人的优秀代码和解题思路,成长 ...

  9. 《算法竞赛入门经典(第二版)》pdf

    下载地址:网盘下载 内容简介  · · · · · · <算法竞赛入门经典(第2版)>是一本算法竞赛的入门与提高教材,把C/C++语言.算法和解题有机地结合在一起,淡化理论,注重学习方法和 ...

最新文章

  1. 【机器视觉案例】(13) 脸部和摄像机间的距离测量,自适应文本大小,附python完整代码
  2. 查看CPU是i386架构和x86_64架构
  3. 网络分布式软件bonic清除
  4. qt调用mysql加密接口_Qt实现客户端/服务器端登录验证|数据传输使用md5加密 | 学步园...
  5. 崩坏3服务器维护多久,崩坏35月28日停服维护多久?4.0版本更新内容汇总[图]
  6. 最大似然估计和最大后验概率估计的理解与求解
  7. PostgreSQL update tbl1 from tbl2 一对多的注意事项(到底匹配哪条)
  8. php mysql上机题_PHP+mysql真题
  9. 手机号码替换中间几位为*号
  10. Css技巧:模块化编码
  11. 星空下的新赛点,民营航空迎来新机会
  12. 计算机网络电子邮件的基本格式,怎样的格式才是正确的电子邮件格式?
  13. xp系统怎么进pe修改计算机名,PE下安装原版XP系统装系统图文教程
  14. 计算机组装与维护标准教程(2010-2012版)电子教材,计算机组装与维护标准教程(2015—2018版)...
  15. Unity表情聊天(NGUI图文混排)
  16. http://jingyan.baidu.com/article/a3761b2b66fe141577f9aa51.html
  17. node基础知识部分小记
  18. 【160313 18:00】四则运算 2 的单元测试
  19. 计算机二级考试模拟软件 操作流程
  20. 站长应该怎么选择香港服务器!

热门文章

  1. Johnson法则简要证明
  2. Windows下Openpose试运行环境配置流程
  3. Elastic:Elastic Stack 8.0.0-alpha1 发布
  4. Matlab中的diag函数用法
  5. 【Tomcat简介】
  6. scratch(图形化编程工具)使用漩涡和马赛克特效做一个酷酷的背景动画
  7. JavaScript中for循环练习题
  8. mac安装adb报错Unknown command: cask
  9. 通过HttpURLConnection连接上传文件和参数并接收
  10. Unity踩坑:FindObjectsOfType can only be called from the main thread