[Offer收割]编程练习赛104
题目过于简单,没啥好说的,但是拿了个第一感觉很爽,记录一下

题目1 : 小Hi与魔法 排序,从1开始递增
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=;
int a[N];
int main()
{
int n;
cin>>n;
for(int i=;i<n;i++)cin>>a[i];
sort(a,a+n);
int ans=,l=;
for(int i=;i<n;i++)
{
if(a[i]==l)
l++,ans++;
else if(a[i]==l-)ans++;
else break;
}
cout<<ans<<"\n";
}
题目2 : 选项编码 就是map一下
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
string s;
cin>>s;
unordered_map<string,string>M;
M[""]="A";
M[""]="B";
M[""]="C";
M[""]="D";
string t;
for(auto X:s)
{
t+=X;
if(M.count(t))
cout<<M[t],t="";
}
}
题目3 : 假期旅行 直接dp当前天是不是可以到达,然后分别转移(题目不太好读懂
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=;
char s[N][N];
int dp[N][N];
int main()
{
int n,m;
cin>>n>>m;
for(int i=;i<=n;i++)cin>>(s[i]+);
for(int i=;i<m;i++)dp[][i]=;
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
{
if(dp[i-][j-]&&s[i][j]=='O')dp[i][j]=;
if(dp[i][j-]&&s[i][j]=='O')dp[i][j]=;
}
int ans=-;
for(int i=;i<=m;i++)
if(dp[n][i])
{
ans=i;
break;
}
cout<<ans;
}
题目4 : 脉冲星观测 说的是其中有一个多记了,所以只要看前面对,还是后面对就可以了,(当然可以都不对,3的情况)
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=;
int a[N];
set<int>S;
void la(int x)
{
//cout<<x<<"\n";
S.insert();
S.insert(x);
int y=sqrt(x+0.5);
for(int i=;i<=y;i++)
if(x%i==)S.insert(i),S.insert(x/i);
}
int main()
{
int n;
cin>>n;
for(int i=;i<n;i++)cin>>a[i];
//cout<<a[1]-a[0]<<" "<<a[n-1]-a[n-2]<<"\n";
if(a[]-a[]!=a[n-]-a[n-])
{
if(a[]-a[]!=a[]-a[])
la(a[n-]-a[n-]);
if(a[n-]-a[n-]!=a[n-]-a[n-])
la(a[]-a[]);
}
else la(a[]-a[]);
for(auto X:S)cout<<X<<"\n";
}
[Offer收割]编程练习赛104的更多相关文章
- hihocoder [Offer收割]编程练习赛4
描述 最近天气炎热,小Ho天天宅在家里叫外卖.他常吃的一家餐馆一共有N道菜品,价格分别是A1, A2, ... AN元.并且如果消费总计满X元,还能享受优惠.小Ho是一个不薅羊毛不舒服斯基的人,他希望 ...
- hihocoder [Offer收割]编程练习赛61
[Offer收割]编程练习赛61 A:最小排列 给定一个长度为m的序列b[1..m],再给定一个n,求一个字典序最小的1~n的排列A,使得b是A的子序列. 贪心即可,b是A的子序列,把不在b中的元素, ...
- [Offer收割]编程练习赛46
[Offer收割]编程练习赛46赛后题解 A.AEIOU 分析
- hihoCoder[Offer收割]编程练习赛1题目解析
题目1 : 九宫 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描写叙述 小Hi近期在教邻居家的小朋友小学奥数.而近期正好讲述到了三阶幻方这个部分,三阶幻方指的是将1~9不反 ...
- ACM学习历程—Hihocoder [Offer收割]编程练习赛1
比赛链接:http://hihocoder.com/contest/hihointerview3/problem/1 大概有一个月没怎么打算法了.这一场的前一场BC,也打的不是很好.本来Div1的A和 ...
- HihoCoder1670 : 比赛日程安排([Offer收割]编程练习赛41)(模拟)
描述 H国编程联赛中有N只队伍,编号1~N. 他们计划在2018年一共进行M场一(队)对一(队)的比赛. 为了让参赛队员能得到充分的休息,联赛组委会决定:每支队伍连续两场比赛之间至少间隔一天.也就是如 ...
- [Offer收割]编程练习赛48
题目1 : 折线中点 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定平面上N个点P1, P2, ... PN,将他们按顺序连起来,形成一条折线. 请你求出这条折线的 ...
- [Offer收割]编程练习赛3 - 题目3 : 智力竞赛
智力竞赛 Problem's Link ---------------------------------------------------------------------------- Mea ...
- [Offer收割]编程练习赛5-1 小Ho的防护盾
#1357 : 小Ho的防护盾 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho的虚拟城市正在遭受小Hi的攻击,小Hi用来攻击小Ho城市的武器是一艘歼星舰,这艘歼星 ...
随机推荐
- PAT甲级——A1056 Mice and Rice
Mice and Rice is the name of a programming contest in which each programmer must write a piece of co ...
- 数据交换格式之 - XML
XML简介 XML是一种可扩展的标记语言,被设计用来传输和存储数据.传输数据. 需要自定义标签,自我描述性,XML是W3C的推荐标准: XML的特点与作用 特点: xml与操作系统.编程语言的开发平台 ...
- 原生js 判断变量是一个数组
const arr = [] // 1. 最简单 ES5+ Array.isArray(arr) // 2. 兼容性好的方法,也很准确 Object.prototype.toString.call(a ...
- Java程序员面试题收集(5)
Java基础方面: 1.作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域 当前类 同一package 子孙类 其他package public √ √ ...
- python利用paramiko执行服务器命令
话不多说直接上代码 封装连接 @staticmethod def connect(ip, server_user, server_port, server_path): ""&qu ...
- 华为云DevCloud一枝独秀
DevOps,是Development和Operations的组合词,是指一组过程.方法与系统的统称,用于促进开发.技术运营和质量保障部门之间的沟通.协作与整合.DevOps是一种重视“软件开发人员( ...
- CF 500B New Year Permutation
传送门 题目大意 给你一个数列,再给你一个矩阵,矩阵的(i,j)如果为1就表示可以将i,j位置上的数交换,问任意交换之后使原数列字典序最小并输出. 解题思路 因为如果i与j能交换,j与k能交换,那么i ...
- UVA10905 Children's Game
题意:给定n个正整数,把它们连接成一个最大的整数.比如,123,124,556,90有24种连接方法,最大的结果为9 056 124 123. 贪心.一开始就想用string水过.注意不能直接用str ...
- JS数组的相关方法
数组创建 JavaScript中创建数组有两种方式,第一种是使用 Array 构造函数: ? 1 2 3 var arr1 = new Array(); //创建一个空数组 var arr2 = ne ...
- BaiduTemplate [ 百度模板引擎 ]
地址: http://baidufe.github.io/BaiduTemplate/