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 


  • 相关阅读:
    [SCOI2015]国旗计划
    [SCOI2015]小凸玩矩阵
    点分治复习笔记
    [HNOI2014]米特运输
    [HNOI2015]接水果
    [HEOI2016/TJOI2016]游戏
    为什么验证集的loss会小于训练集的loss?
    转载GPU并行计算
    深度学习图像标注工具汇总(转载)
    你理解了吗?
  • 原文地址:https://www.cnblogs.com/james1207/p/3262727.html
Copyright © 2011-2022 走看看