zoukankan      html  css  js  c++  java
  • Codeforces Round #410 (Div. 2) B. Mike and strings

    啊啊啊啊……颓了好久了……然而……果然还是只能做一做div2的ab,b做起来都困难啊orz○| ̄|_

    题目链接:http://codeforces.com/contest/798/problem/B

    唉,这个题写了好久啊,实现起来巨麻烦,看了看大佬的代码发现,同样都是暴力的想法,大佬的代码要简洁的多,果然还是对STL不熟悉么还是其他什么的。

    暴力,分别以每个字符串为基准,计算其他几个字符串移动的次数,求最小和即可,这里学到了大佬find的用法,处理起来巨简单,

    其实自己原来的代码差不多就把string的find操作粗略的实现了一遍,orz,嘛总之也是学到东西了。

    #include<iostream>
    #include<algorithm>
    #include<string>
    #include<string.h>
    using namespace std;
    int main()
    {
        int n;
        string s[55];
        while(cin>>n)
        {
            int ans=0x3f3f3f3f;
            for(int i=0;i<n;i++)
            cin>>s[i];
            for(int i=0;i<n;i++)
            {
                int cnt=0;
                for(int j=0;j<n;j++)
                {
                    if(j!=i)
                    {
                        string t=s[j]+s[j];
                        if(t.find(s[i])==string::npos) //npos就是查找不到的意思的感觉???
                        {
                            cout<<"-1"<<endl;
                            return 0;
                        }
                        cnt+=t.find(s[i]);
                    }
                }    
              ans=min(ans,cnt);
            }    
        cout<<ans<<endl;
        }
        return 0;
    }
  • 相关阅读:
    元素定位8种方法
    excel做数据驱动
    selenium colse()与quit()方法的区别
    flask 获取request参数的几种形式
    hdu1272
    土地征用
    任务安排
    征途
    锯木厂选址
    特别行动队
  • 原文地址:https://www.cnblogs.com/Egoist-/p/7501061.html
Copyright © 2011-2022 走看看