zoukankan      html  css  js  c++  java
  • Divisibility by 25 CodeForces

     遇见模拟题 有两种做法 例如这题:

      1、直接去算次数(统计哪个数在第几位,然后去运算)

      2、模拟操作

    贴一个别人的代码。。。https://blog.csdn.net/weixin_39453270/article/details/80548780

    #include <bits/stdc++.h>
    using namespace std;
    const int INF=0x3f3f3f3f;
    string str1,str2;
    bool vis=0;
    void Get(char a,char b,int n,int &ans){
        str2=str1;
        int cnt=0;
        int tmp=0;
        for(int i=n-1;i>=0;i--){//将最后一位置为字符b
            if(str2[i]==b){
                cnt++;
                for(int j=i;j<n-1;j++){
                    swap(str2[j],str2[j+1]);
                    tmp++;
                }
                break;
            }
        }
        for(int i=n-2;i>=0;i--){//将倒数第二位置为字符a
            if(str2[i]==a){
                cnt++;
                for(int j=i;j<n-2;j++){
                    swap(str2[j],str2[j+1]);
                    tmp++;
                }
                break;
            }
        }
        if(cnt==2){//如果能够构成后缀ab
            if(str2[0]!='0'){
                vis=1;
                //cout<<tmp<<endl;
                ans=min(ans,tmp);
            }//如果有前导0
            else{
                for(int i=0;i<n-2;i++){
                    if(str2[i]!='0'){//从第1位到n-2位找到第一个不为0的数
                        tmp+=i;
                        vis=1;
                        ans=min(ans,tmp);
                        break;
                    }
                }
            }
        }
    }
    int main()
    {
        cin>>str1;
        int len=str1.length();
        int ans=INF;
        //四种情况贪心取最小
        Get('0','0',len,ans);
        Get('2','5',len,ans);
        Get('5','0',len,ans);
        Get('7','5',len,ans);
        if(vis) cout<<ans<<endl;
        else puts("-1");
        return 0;
    }
    自己选择的路,跪着也要走完。朋友们,虽然这个世界日益浮躁起来,只要能够为了当时纯粹的梦想和感动坚持努力下去,不管其它人怎么样,我们也能够保持自己的本色走下去。
  • 相关阅读:
    java 实现Queue
    java 实现stack
    为什么现货白银/现货原油的报价每个交易所都不一样?
    现货交易入门之常用术语
    现货操盘手精髓语录
    现货电子交易中实物交割的概念和作用?
    关于ios对rtsp格式的流媒体支持的一些官方说明
    ProgressBar的Indeterminate属性
    安卓适配问题
    推送原理
  • 原文地址:https://www.cnblogs.com/WTSRUVF/p/9528476.html
Copyright © 2011-2022 走看看