HDU 3125 slash (simulation)

Source: Internet
Author: User

Question link: http://acm.hdu.edu.cn/showproblem.php? PID = 1, 3125



Problem descriptionthe American English slash (/) is a punctuation mark. in the early modern period, in the fraktur script, which was widespread through Europe in the Middle Ages, one slash (/) represented a comma, while two slashes (//) represented a dash.
With the wide use of computers, slash appeared far more than at any previous time in history. on Unix-like systems and in URLs, the slash is to separate directory and file components of a path:
/Home/whuacm/chaeyeon/sherlockpp.jpg
Http://acm.whu.edu.cn/
But in Windows systems, it uses (\) to separate directory and file components of a path:
C: \ Users \ v-yungao \ music \ shake
That really confuses me. cocould you help me to judge if the string I wrote is right.
Please notice that I wocould only make a mistake by changing (\) to (/) or (/) (\). all the strings were constituted by a-Z, A-Z, 0-9 ,(.), (\) and (/), no other characters wocould appear in the strings.
A string of URL always begins with "[A-Za-Z] +: //" (Notice (/) Maybe changed (\)), in which "[A-Za-Z] +" represents any non-empty string of letters.
Windows path begins with "[A-Za-Z]: \" (Notice (\) Maybe changed (/)), in which "[A-Za-Z]" means an English letter. (e.g. "c: \ Windows" is a URL not a Windows path)
The path of Unix-like system begins with (/) or (\).
I'll give you some strings, can you tell me which type those strings belong to and those correct forms.
 
Inputthe first line consists of an integer T, indicating the number of strings.
The next t lines, each line consists of a single non-empty string. All of those are really data from our daily life.
 
Outputfor each string:
If it belongs to a path in Unix-like systems, output "It's a path in Unix-like systems !" In a new line and the correct string in the next line.
If it belongs to a path in Windows system, output "It's a path in Windows system !" In a new line and the correct string in the next line.
If it's a URL, output "It's a URL !" In a new line and the correct string in the next line.
The kind of each input string can be uniquely determined.

Constrains
0 <t <= 20
The length of each string will not be longer than 50.

 
Sample Input
4http://acm.whu.edu.cn/feliojhttp:/\acm.whu.edu.cn/11111011001/\home\whuacm\Slash\yamaZ:\movie/chaeyeon
 
Sample output
It‘s a URL!http://acm.whu.edu.cn/feliojIt‘s a URL!http://acm.whu.edu.cn/11111011001/It‘s a path in Unix-like systems!/home/whuacm/Slash/yamaIt‘s a path in Windows system!Z:\movie\chaeyeon
 
Source2009 Asia Wuhan Regional Contest online


The Code is as follows:

//#pragma warning (disable:4786)#include <cstdio>#include <cmath>#include <cstring>#include <string>#include <cstdlib>#include <climits>#include <ctype.h>#include <queue>#include <stack>#include <vector>#include <utility>#include <deque>#include <set>#include <map>#include <iostream>#include <algorithm>using namespace std;const double eps = 1e-9;//const double pi = atan(1.0)*4;const double pi = 3.1415926535897932384626;#define INF 1e18//typedef long long LL;//typedef __int64 LL;bool Judge(char c){    if(c == '/' || c == '\\')        return true;    return false;}int main(){    int t;    char str[57];    scanf("%d",&t);    while(t--)    {        memset(str,'\0',sizeof(str));        scanf("%s",str);        int len = strlen(str);        if(Judge(str[0]))        {            printf("It's a path in Unix-like systems!\n");            for(int j = 0; j < len; j++)            {                if(str[j] == '\\')                    printf("/");                else                    printf("%c",str[j]);            }            printf("\n");            continue;        }        for(int i = 0; i < len; i++)        {            if(Judge(str[i]) && Judge(str[i+1]))            {                printf("It's a URL!\n");                for(int j = 0; j < len; j++)                {                    if(str[j] == '\\')                        printf("/");                    else                        printf("%c",str[j]);                }                printf("\n");                break;            }            else if(Judge(str[i]))            {                printf("It's a path in Windows system!\n");                for(int j = 0; j < len; j++)                {                    if(str[j] == '/')                        printf("\\");                    else                        printf("%c",str[j]);                }                printf("\n");                break;            }        }    }    return 0;}


Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.