河南理工大学新生挑战赛部分题题解
Posted 辉小歌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了河南理工大学新生挑战赛部分题题解相关的知识,希望对你有一定的参考价值。
A: Dong Zhi【签到】
#include<bits/stdc++.h>
using namespace std;
int main(void)
{
cout<<"Let’s eat dumplings";
return 0;
}
B: The flower【简单 / 哈希表】
https://ac.nowcoder.com/acm/contest/3665/B
#include<bits/stdc++.h>
using namespace std;
map<string,int>mp;
vector<string>ans;
int main(void)
{
string s; cin>>s;
int k; cin>>k;
if(k<=s.size())
for(int i=0;i<=s.size()-k;i++) mp[s.substr(i,k)]++;
for(auto i=mp.begin();i!=mp.end();i++) if(i->second>2) ans.push_back(i->first);
cout<<ans.size()<<endl;
for(int i=0;i<ans.size();i++) cout<<ans[i]<<endl;
return 0;
}
D: LaunchPad【一般 / 差分】
https://ac.nowcoder.com/acm/contest/3665/D
#include<bits/stdc++.h>
using namespace std;
const int N=1e3+10;
int f[N][N],n,m,k;
void insert(int x,int y,int xx,int yy,int c)
{
f[x][y]+=c;
f[x][yy+1]-=c;
f[xx+1][y]-=c;
f[xx+1][yy+1]+=c;
}
int main(void)
{
cin>>n>>m>>k;
while(k--)
{
int x,y; cin>>x>>y;
insert(x,1,x,m,1);//行
insert(1,y,n,y,1);//列
insert(x,y,x,y,-1);//中间那一点多加了一次
}
int cnt=0;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
f[i][j]+=f[i-1][j]+f[i][j-1]-f[i-1][j-1];
if(f[i][j]&1) cnt++;
}
}
cout<<cnt<<endl;
return 0;
}
E: Morse code【思维】
https://ac.nowcoder.com/acm/contest/3665/E
#include<bits/stdc++.h>
using namespace std;
int main(void)
{
int t; cin>>t;
while(t--)
{
string s; cin>>s;
cout<<s.size()/2<<endl;
}
return 0;
}
F: Puzzle【简单】
https://ac.nowcoder.com/acm/contest/3665/F
#include<bits/stdc++.h>
using namespace std;
int main(void)
{
int t; cin>>t;
while(t--)
{
string s; cin>>s;
int cnt=0;
for(int i=0;i<s.size();i++)
{
if(s[i]=='0') cnt++;
else if(s[i]=='9') cnt++;
else if(s[i]=='6') cnt++;
else if(s[i]=='4') cnt++;
else if(s[i]=='8') cnt+=2;
}
cout<<cnt<<endl;
}
return 0;
}
以上是关于河南理工大学新生挑战赛部分题题解的主要内容,如果未能解决你的问题,请参考以下文章
四川大学2021SCUACM新生赛决赛大部分题解(差分dp线段树……)
2020-2021年度第二届全国大学生算法设计与编程挑战赛(春季赛)部分题题解
2021-2022年度第三届全国大学生算法设计与编程挑战赛(冬季赛正式赛) 部分题题解