首页 > 其他分享 >SMU 2024 spring 天梯赛1

SMU 2024 spring 天梯赛1

时间:2024-03-17 12:57:02浏览次数:27  
标签:temp int spring SMU cin long 2024 using include

7-3 强迫症
简单的模拟但是注意这句话:对于那些只写了年份后两位的信息,我们默认小于 22 都是 20 开头的,其他都是 19 开头的。

点击查看代码
#include<bits/stdc++.h>
using namespace std;
#define int long long
void solve()
{
    string s;
    cin>>s;
    int n=s.size();
    if(n==6)
    {
        for(int i=0;i<=3;i++) cout<<s[i];
        cout<<"-";
        for(int i=4;i<=5;i++) cout<<s[i];
    }
    if(n==4)
    {
        if(s[0]>='2'&&s[1]>='2'){
        cout<<"19";
        for(int i=0;i<=1;i++) cout<<s[i];
        cout<<"-";
        for(int i=2;i<=3;i++) cout<<s[i];
        }
        else{
            cout<<"20";
        for(int i=0;i<=1;i++) cout<<s[i];
        cout<<"-";
        for(int i=2;i<=3;i++) cout<<s[i];
        }
    }
    
}



signed main()
{
    solve();
    
}

7-4 小孩子才做选择,大人全都要
同样是简单的模拟,分类讨论一下即可

点击查看代码
#include<bits/stdc++.h>
using namespace std;
#define int long long
void solve()
{
    int a,b,maxx,minn;
    cin>>a>>b;
    if(a>0&&b>0){
        maxx=max(a,b);
        cout<<maxx<<" "<<a+b<<endl;
        cout<<"^_^";
    }
    else if(a<0&&b>0||a>0&&b<0)
    {
        maxx=max(a,b);
        minn=min(a,b);
        if(maxx+minn<=0){
            cout<<maxx<<" "<<"0"<<endl;
            cout<<"T_T";
        }
        else {
            cout<<maxx<<" "<<maxx+minn<<endl;
            cout<<"T_T";
        }
    }
    else if(a<0&&b<0){
        cout<<"0"<<" "<<"0"<<endl;
        cout<<"-_-";
    }
    
}



signed main()
{
    solve();
    
}

7-5 胎压监测

还是简单的模拟

点击查看代码
#include<bits/stdc++.h>
using namespace std;
#define int long long
void solve()
{
    int a[5],minn,p;
    int maxx=-1;
    for(int i=1;i<=4;i++){
        int x;
        cin>>x;
        a[i]=x;
        maxx=max(maxx,x);
    }
    cin>>minn>>p;
    int cnt1=0,mark;
    for(int i=1;i<=4;i++)
    {
        if(abs(maxx-a[i])>p||a[i]<minn){
            cnt1++;
            mark=i;
        }
        
    }
    if(cnt1==1) cout<<"Warning: please check #"<<mark<<"!";
    else if(cnt1>=2) cout<<"Warning: please check all the tires!";
    else cout<<"Normal";
    
}



signed main()
{
    solve();
    
}

7-6 吉老师的回归
这题先用cnt记录一下不是qiandao和easy的题目有多少个,然后开个标记数组,记录一下每个不是easy和qiandao的题的下标,然后看cnt有没有大于这个m如果有就是,就是在做第m+1题,注意输入完nm以后要有一个getline来抵消一个回车键,再开始输入字符串

点击查看代码
#include<bits/stdc++.h>
using namespace std;
#define int long long
void solve()
{
    int n,m,cnt=0,temp=1,a[35]={0};
    string s[35],s1;
    cin>>n>>m;
      getline(cin,s1);
    for(int i=1;i<=n;i++)
    {
        getline(cin,s[i]);
  
        int pos1=s[i].find("qiandao");
        int pos2=s[i].find("easy");
        //cout<<pos1<<" "<<pos2<<endl;
        if(pos1==-1&&pos2==-1)
        {
            a[temp]=i;
            temp++;
            cnt++;
        }
            
    }
    
   
 
    if(cnt<=m) cout<<"Wo AK le";
    if(cnt>m) cout<<s[a[m+1]];
    
}



signed main()
{
    solve();
    
}

7-7 静静的推荐
这一题我们以点来从大到小排序,如果第一个数不相等就按第一个数从大到小排,如果第一个数相等的比较第二个数,这是一个好的排序方法,值得学习,韦大不愧是个人才,然后我们先选175分以上pta分数够的人,然后那些不看pta分数的人不能超过批次数k

点击查看代码
#include<bits/stdc++.h>
using namespace std;
typedef pair<int,int>pii;
bool cmp(pii a,pii b)
{
	if(a.first!=b.first) return a.first>b.first;
	else return a.second>b.second;
}


void solve()
{
	int n,k,s;
	cin>>n>>k>>s;
	vector<pii>ve(n+1);
	vector<int>cnt(300);//用来标记不看pta的人收了几个 
	for(int i=1;i<=n;i++) cin>>ve[i].first>>ve[i].second;
	sort(ve.begin()+1,ve.end(),cmp);
	int ans=0;
	for(int i=1;i<=n;i++)
	{
		if(ve[i].first<175) break;
		if(ve[i].second>=s) ans++;
		else if(cnt[ve[i].first]+1<=k)
		{
			ans++;
			cnt[ve[i].first]++;
		}
	}
	cout<<ans;
}



int main()
{
	solve();	
	
}

7-8 机工士姆斯塔迪奥
这题我还傻傻的bfs了,其实不用bfs直接用总数减去被标记过的数就可以了,但是注意行和列交叉的点会重复的减,所以需要加上行数*列数,开两个set防止重复减掉了一些,一个放行一个放列

点击查看代码
#include<bits/stdc++.h>
using namespace std;
typedef pair<int,int> pii;
#define int long long


void solve()
{
    set<int>se1,se2;
    int n,m,q;
    cin>>n>>m>>q;
    while(q--)
    {
        int a,b;
        cin>>a>>b;
        if(a==0) se1.insert(b);
        else se2.insert(b);
    }
    
    int xx=se1.size(),yy=se2.size();
    int ans=n*m+(xx*yy)-xx*m-yy*n;//记得行数应该是×m 列数×n

    cout<<ans;
}



signed main()
{
    solve();
    
}

7-9彩虹瓶
还是一道stl的模拟题,我们每次要放一个货物的时候,就检查一下货架上有没有符合的,下列的代码有详细的注解

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

typedef pair<int,int> pii;


void solve()
{
   int n,m,k;
   cin>>n>>m>>k;
   while(k--)
   {
       stack<int>q;
       int need=1;//用来检查以下的货物是否符合要求
       for(int i=1;i<=n;i++)
       {
           int x;
           cin>>x;
           if(x==need)
           {
               need++;
               continue;
           }
           
           else if(q.size()&&q.top()==need)//就是我们输入的货物号不满足need时,去栈里找是否有符合的
           {
               while(q.size()&&q.top()==need)
               {
                   need++;
                   q.pop();
               }
               q.emplace(x);
           }
           
           else if(q.size()<m)//如果说你输入的这个货物号不满足need且你刚刚放入栈中的也不满足
           //就把这个货物放入栈中
           {
               q.emplace(x);
           }
       }
       //输入完了以后开始在栈里找
       
       while(q.size()&&q.top()==need) {
           need++;
           q.pop();
       }
       
       if(need-1==n) cout<<"YES"<<endl;
    else cout<<"NO"<<endl;
       
       
   }

}



signed main()
{
    solve();
    
}

7-10 简单计算器
记得栈是先入后出别看到样例直接从左往右算了,且记住0不作分母只在‘/’下成立

点击查看代码
#include<bits/stdc++.h>
using namespace std;
#define int long long
typedef pair<int,int> pii;
stack<int>q;
stack<char>p;
void solve()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        int a;
        cin>>a;
        q.push(a);
    }
    int temp;
    
    for(int i=1;i<=n-1;i++){
        char c;
        cin>>c;
        p.push(c);
    }
    while(!p.empty())
    {
        
        int t=q.top();
        q.pop();
        
        
        
        int k=q.top();
        q.pop();
        
        
        
        
        int c=p.top();
        p.pop();
        
        
        if(c=='+')
        {
            temp=t+k;
            q.push(temp);
        }
        if(c=='-')
        {
            temp=k-t;
            q.push(temp);
        }
        if(c=='*')
        {
            temp=k*t;
            q.push(temp);
        }
        if(c=='/')
        {
            //注意0作为分母这种情况,只在除号下有效
            if(t==0){
            cout<<"ERROR: "<<k<<"/0";//注意‘:’后面有个空格
            return ;
        }
            temp=k/t;
            q.push(temp);
        }
       
   
    }
     cout<<temp;
   
  
    
    
    
}



signed main()
{
    solve();
    
}

标签:temp,int,spring,SMU,cin,long,2024,using,include
From: https://www.cnblogs.com/swjswjswj/p/18076469

相关文章

  • SMU 2024 spring 天梯赛1
    SMU2024spring天梯赛17-1种钻石-SMU2024spring天梯赛1(pintia.cn)#include<bits/stdc++.h>#definedebug(a)cout<<#a<<"="<<a<<'\n';usingnamespacestd;usingi64=longlong;typedefpair<i64,i64>......
  • 基于Spring Boot在线远程考试系统—开题报告
    二、设计(论文研究)思路及工作方法1.设计思路本系统基于B/S结构模式,采用idea开发环境,Java语言,建模工具Visio,以及关系型数据库MySQL。在线远程考试系统采用前后端分离的模式进行开发。前端开发负责页面的编写及数据的渲染。后端开发负责提供API(接口)。前后端采用指定的API接口进......
  • 沃伦·巴菲特2023股东书(2024.2.24)-0-查理·芒格——伯克希尔·哈撒韦公司的建筑师
    2023letterhttps://www.berkshirehathaway.com/letters/2023ltr.pdf查理·芒格——伯克希尔·哈撒韦公司的建筑师查理·芒格于11月28日去世,距离他100岁生日仅33天。虽然在奥马哈出生和长大,但他一生中80%的时间都在其他地方定居。因此,直到1959年他35岁时,我才第一次......
  • 2024 年值得关注的三大 DevOps 趋势
    在过去几年中,DevOps世界以前所未有的速度发展,但它仍然是许多组织效率、创新和数字化转型的主要驱动力。Google的2023年加速DevOps状态报告显示,公司的软件交付性能质量可以预测组织绩效、团队绩效和员工福祉。2024年,从业者预计有几个趋势会对行业产生重大影响。随着时......
  • 20231325贾罗祁 2023-2024-2《Python程序设计》实验一报告
    20231325贾罗祁2023-2024-2《Python程序设计》实验一报告课程:《Python程序设计》班级:2313姓名:贾罗祁学号:20231325实验教师:王志强实验日期:2024年3月13日必修/选修:公选课1.实验内容熟悉Python的操作学会调试程序编译循环的剪刀石头布游戏创建gitee账户并推送上传......
  • springboot如何优雅的获取前端参数
    写在前面对于初学者来说,困难的不是理论知识,而是如何在程序中具体实现。现在的项目基本上都是前后端分离的项目,如何打通前后端,接收前端传过来的参数呢?废话不多说,这篇文章就来说一说接收前端参数的具体操作一、获取路径中的值1.1核心代码@GetMapping("/getArticle/{id}")pub......
  • 智能酒店管理系统(JSP+java+springmvc+mysql+MyBatis)
    本项目包含程序+源码+数据库+LW+调试部署环境,文末可获取一份本项目的java源码和数据库参考。项目文件图 项目介绍随着科技的进步和旅游业的繁荣,酒店行业正面临着前所未有的机遇与挑战。为了提高服务质量、运营效率以及顾客满意度,智能酒店管理系统应运而生。这种系统利用......
  • 灾情信息管理系统(JSP+java+springmvc+mysql+MyBatis)
    本项目包含程序+源码+数据库+LW+调试部署环境,文末可获取一份本项目的java源码和数据库参考。项目文件图 项目介绍随着自然灾害频发,及时有效的灾情信息管理对于灾害应对和救援工作至关重要。一个专业的灾情信息管理系统能够帮助政府和救援组织快速收集、处理和分析灾区数......
  • 智慧教室预约(JSP+java+springmvc+mysql+MyBatis)
    本项目包含程序+源码+数据库+LW+调试部署环境,文末可获取一份本项目的java源码和数据库参考。项目文件图 项目介绍随着教育数字化转型的深入,智慧教室成为提升教学质量和效率的重要环境。智慧教室预约系统能够有效管理教学资源,实现教室使用的优化配置,确保设备高效利用。它......
  • Spring基础
    beans.xml配置文件<!--不建议使用--><!--<beanid="user"class="com.jiang.pojo.user">--><!--<constructor-argindex="0"value="岳不群"/>--><!--</bean>--><!-......