2021“MINIEYE杯”中国大学生算法设计超级联赛(4)
Calculus
题目大意
判断函数是否收敛
思路
只要判断系数是否存在0,但是判断单独的一个0比较麻烦,那么可以反过来思考,但凡系数中存在非零数,即视为是发散的,那么存在系数0的函数则被视为是收敛的
代码
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
ll _;
cin>>_;
while(_--)
{
string str;
cin>>str;
for(ll i=0; i<str.size(); i++)
{
if(str[i]>='1'&&str[i]=='9') cout<<"NO"<<endl;
else cout<<"YES"<<endl;
}
}
}
License Plate Recognition
大模拟
思路
从右到左遍历,数字和字母都是连续的,然而汉字字符仅部分是连续的,所以从左到右遍历的话,很难识别汉字已经结束了
代码
#include <bits/stdc++.h>
using namespace std;
#define ll long long
string str[33];
struct node
{
ll l,r;
};
vector<node> v;
void solve()
{
ll L,R;
L=R=0;
ll i=100;
for(ll ff=7; ff>=2; ff--)
{
for(; i>=1; i--)
{
ll dotsum=0;
for(ll j=1; j<=30; j++)
{
if(str[j][i]=='#'&&R==0) R=i;
if(R&&str[j][i]=='.') dotsum++;
}
if(dotsum==30)
{
node NODE;
NODE.l=i+1;
NODE.r=R;
R=0;
dotsum=0;
v.push_back(NODE);
break;
}
}
}
ll flag=1;
for(; i>=1; i--)
{
if(flag==1)
{
for(ll j=1; j<=30; j++)
{
if(str[j][i]=='#')
{
R=i;
flag=0;
break;
}
}
}
}
i=1;
flag=1;
for(; i<=100; i++)
{
if(flag==1)
{
for(ll j=1; j<=30; j++)
{
if(str[j][i]=='#')
{
L=i;
flag=0;
break;
}
}
}
}
node NODE;
NODE.l=L;
NODE.r=R;
v.push_back(NODE);
}
int main()
{
ll t;
scanf(" %lld",&t);
for(ll iii=1;iii<=t;iii++)
{
v.clear();
for(ll i=1; i<=30; i++)
{
cin>>str[i];
str[i]='+'+str[i];
}
solve();
cout<<"Case #"<<iii<<":"<<endl;
for(ll i=v.size()-1; i>=0; i--)
{
cout<<v[i].l<<' '<<v[i].r<<endl;
}
}
}
Lawn of the Dead
留坑待补
作者:Drophair
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。