zoukankan      html  css  js  c++  java
  • 【周全考虑】CodeForces 245B——Internet Address

    来源:点击打开链接

    看上去很简单的一道题,可是错的次数却不少。

    题目要求是将一串字母转化成网址——形如格式http(ftp)://xxx.ru/xxxx的样子,看上去很简单,可是还是很容易出错。

    刚开始找的时候是按照寻找第一组http/ftp,然后寻找第一个ru,构成网址,但是报错了,反例如下:httpruc

    所以不能寻找第一个网址,也就是说尽量避免.ru之前没有东西,这样是不合法 的。然后注意http是四个字符,ftp只有三个字符,所以不能固定。。

    #include <iostream>
    #include <string>
    using namespace std;
    
    int main()
    {
    	string tar,res;
    	string tarstack;
    	int propos=0,ctpos=0;
    	cin>>tar;
    	if(tar[0]=='h')
    	{
    		tarstack="http";
    	}
    	if(tar[0]=='f')
    	{
    		tarstack="ftp";
    	}
    	ctpos=tar.find("ru",tarstack.length()+1);  //5是不行的,惯性思维不可 
    	if(tar[0]=='h')
    	{
    		cout<<tarstack<<"://";
    		for(int i=4;i<ctpos;i++)
    		{
    			cout<<tar[i];
    		}
    		cout<<".ru";
    		if(ctpos+2==tar.length())
    			cout<<endl;
    		else
    		{
    			cout<<"/";
    			for(int i=ctpos+2;i<tar.length();i++)
    			{
    				cout<<tar[i];
    			}
    			cout<<endl;
    		}
    		
    	}
    	else if(tar[0]=='f')
    	{
    		cout<<tarstack<<"://";
    		for(int i=3;i<ctpos;i++)
    		{
    			cout<<tar[i];
    		}
    		cout<<".ru";
    		if(ctpos+2==tar.length())
    			cout<<endl;
    		else
    		{
    			cout<<"/";
    			for(int i=ctpos+2;i<tar.length();i++)
    			{
    				cout<<tar[i];
    			}
    			cout<<endl;
    		}
    	}
    	return 0;
    	
    }
    //范例:httpruhhphhhpuhruruhhpruhhphruhhru 


  • 相关阅读:
    html5 存储方式
    分割字符串得到分数,然后求和取整
    通过javascript的日期对象来得到当前的日期
    基础选择器
    制作3D旋转视频展示区
    自由缩放属性resize
    团队项目第四天
    团队项目第三天
    团队项目第二天
    团队项目第一天
  • 原文地址:https://www.cnblogs.com/james1207/p/3262727.html
Copyright © 2011-2022 走看看