• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

.yin

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

Codeforces Round #699 (Div. 2) A和B题

本场链接:Codeforces Round #699 (Div. 2) 

A - Space Navigation

题目大意:

有一个飞船一开始在(0,0),有一个操作列表s,每个位置表示一个上下左右的移动操作.有一个目的地坐标是(px,py).但是这个操作序列不一定能够正确的走到目的地,现在问是否能通过删去某些操作的方式使得飞船能走到目的地.只需输出是否.

思路:

给出一个坐标(x,y),如果给出的字符串s包含坐标转化成的字符串,那么就可以到达终点:否则不可以到达。

这里比较两个字符串成为关键。但是比较字符串不如比较数组简洁。

所以在输入字符串的时候,统计每种操作的个数。然后看应该比较的操作中输入的个数是否多于它应该的个数。

这里我的想法太直接了,所以写出来的代码太繁琐,不够聪明。

有个2000多分的大佬写出来的不错,我引用一下:puts(-l<=x&&x<=r&&-d<=y&&y<=u?"YES":"NO");

整体代码如下:

#include<stdio.h>
#define ll long long
int main()
{
    ll t,x,y;ll us=0,rs=0,ls=0,ds=0;ll u=0,d=0,l=0,r=0;
    int flag=0;
    scanf("%lld",&t); 
    char str[100010]; 
    while(t--)
    {
        x=0;y=0;u=0;r=0;d=0;l=0;flag=0;
        scanf("%lld%lld",&x,&y);
        scanf("%s",str);
        for(int i=0;str[i]!='\0';i++) {
            if(str[i]=='U') u++;
            else if(str[i]=='R') r++;
            else if(str[i]=='D') d++;
            else if(str[i]=='L') l++;
        }
        puts(-l<=x&&x<=r&&-d<=y&&y<=u?"YES":"NO");
    }
    return 0;
}

B - New Colony

题目大意:

有n个山,每个山有高度hi.人站在第一个山头上丢牛逼土,牛逼土有自动检查当前高度的牛逼功能,具体来说:

  • 如果当前的位置是ii,那么如果hi≥hi+1那么牛逼土会直接飞到下一个山头.
  • 反之牛逼土会觉得当前这个山头不够牛逼,并且牺牲自己让当前的山头高度增加一,即hi+=1.
  • 特殊情况:牛逼土可能会飞出n个山头之外.

一共有k个牛逼土,每次都在1这个位置丢。

思路:

直接暴力,因为数据范围太大而且规律难总结。

代码如下:

#include<stdio.h>
int n;long long k,i,j;
int a[105];
int main()
{
    int t;
    scanf("%d",&t);
    while(t--){
        int count=0;
        scanf("%d%lld",&n,&k);
        
        for(i=1;i<=n;i++)
        scanf("%d",&a[i]);
        
        for(i=1;i<=k;i++) 
        {
            count=0;
            for(j=1;j<n;j++) 
                if(a[j]<a[j+1]) {a[j]++,count++;break;} 
             if(!count) break;     
        }
        if(i-k-1) printf("-1\n");
        else printf("%lld\n",j);
    }
    return 0;
}

第一次发补的题到博客上,哈哈,瞎玩吧。

 

posted on 2021-02-06 15:30  .yin  阅读(44)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3