思维-Gym - 101341B-好题(5-5-B)

给定一个字符串,问你是否可以移动两个数,让这个字符串中不出现”happiness”。如果是的话就输出两个位置。如果不能的话就输出no
如果happiness出现超过三次以上,一次只能破坏两个,所以一定是no
如果出现两次,记录每个的 h和i,将第一个的h和第二个的i调换即可。
如果出现一次,将第一个的h和i调换。
如果没有,输出 1 2
重点来了。数据可能是这样。
ahppiness,这样本来找不到,输出yes,但是移动12 后反而找到了。
很多人卡数据,应该是如果想输出固定的数,都会给你找到反例。。
怪不得我们wa了那么多次。。顺便提一下,第29个数据估计就是ahppiness
看的大神的代码,才明白了。我操,还是要读题啊。

#include <cstdio>
#include <iostream>
#include <map>
using namespace std;
int main()
{ //freopen("standard input","r",stdin);
    //freopen("output.txt","w",stdout);

    string s;
   string a="happiness";
   cin>>s;
   int link1 [200005];
   int link2[200005];
   int j=1;
   int sum=0;
   if(s.length()<=8)
   {  printf("YES\n");
     printf("1 2\n");
  return 0;
   }
   for(int i=0;i<s.length()-8;i++)
   {
       string l=s.substr(i,9);
     if(l==a)
     {   link1[j]=i+1;
          link2[j]=i+5;
          sum++;
          j++;
     }
   }
   if(sum>2)
      puts("NO");
      else if(sum==0)
      {puts("YES");
        int ans1=1;int ans2=2;
         map<char,int>mp;
         for(int i=0;i<s.length();i++)
         {  if(mp[s[i]]!=0)
             {  ans1=mp[s[i]];
                ans2=i+1;
                 break;
             }
              else mp[s[i]]=i+1;
         }
         printf("%d %d\n",ans1,ans2);

      }
   else if(sum==2)
      {   puts("YES");
          printf("%d %d\n",link1[1],link2[2]);}
   else
    {  puts("YES");
        printf("%d %d\n",link1[1],link2[1]);}
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
IoT是物联网(Internet of Things)的缩写,是指通过物理设备和传感器等技术将物理世界与互联网连接起来的概念。Sensor是传感器的意思,是一种能够感知和测量周围环境参数的装置。Gym master是指健身房的管理系统。那么,"IoT-Sensor-Gym-Master"指的是结合物联网、传感器技术和健身房管理系统的项目或产品。 在这个项目中,通过在健身房内部部署各种类型的传感器设备,可以实时感知和监控健身房的各种环境参数以及用户的行为。例如,可以使用体感传感器来监测用户的运动状态,心率传感器来监测用户心率变化,温湿度传感器来监测环境的温度和湿度等等。这些传感器会把收集到的数据通过物联网技术传输到云端服务器进行处理和分析。 在云端服务器上,会有一个健身房管理系统,通过对接收到的传感器数据进行分析和处理,可以提供各种健身相关的功能和服务。例如,可以根据用户的运动状态自动调整健身器材的强度,提供个性化的健身方案;还可以通过用户心率数据实时预警和监控用户的身体状况,保证用户的健康安全;同时,还可以通过温湿度传感器来实时监测健身房的环境,保证用户的舒适度。 总之,"IoT-Sensor-Gym-Master"项目结合了物联网、传感器技术和健身房管理系统的优势,将智能化和个性化服务引入健身领域,为用户提供更好的健身体验和管理服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值