| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 42026 人关注过本帖, 47 人收藏
标题:C论坛算法团队 首战 西安电子科技大学OJ
只看楼主 加入收藏
心灯甚亮
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:441
专家分:996
注 册:2013-1-29
收藏
得分:0 
我也去看看
2013-02-08 17:23
lx7052016
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-2-17
收藏
得分:0 
2013-02-17 11:36
C_戴忠意
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:575
专家分:1349
注 册:2011-10-21
收藏
得分:0 
Problem 1104 - 统一资源定位符中的远程服务器地址检测 Time Limit: 1000MS   Memory Limit: 65536KB   
Difficulty:
Total Submit: 535  Accepted: 218  Special Judge: No Description
统一资源定位符也被称为网页地址,是因特网上标准的资源的地址(Address)。它最初是由蒂姆·伯纳斯-李发明用来作为万维网的地址的。现在它已经被万维网联盟编制为因特网标准RFC1738了。

因特网上的可用资源可以用简单字符串来表示,被称为“统一资源定位器”(URL,Uniform / Universal Resource Locator)。URL是一种标准化的命名方法,它可以用统一的格式来表示Internet提供的各种服务中信息资源的地址,以便在浏览器中使用相应的服务。

统一资源定位符的标准格式如下:
协议类型://服务器地址(:端口号)/路径/文件名

在应用中,我们常常需要从一条URL中截取远程服务器地址部分(IP地址或域名),以便进一步处理。为此我们提出了一个新算法来实现该功能,基于……

呃,写到这里卡住了,现在需要你来实现这个“新算法”,输出所给URL中的远程服务器地址部分。
Input输入数据的第一行是一个正整数T(0<T<=100),表示有T组测试数据。
每组测试数据只有一行,包含一条URL(长度小于1000个字符,为可见ASCII字符),其中不包含空格,符合URL标准格式。Output对于每组测试数据,在一行上输出该URL地址中的远程服务器地址部分(IP地址或域名,不包含端口号)。Sample Input

5
http://acm.xidian.
http://qinz.maybe.im/
https://www.
ftp://ftp.
http://127.0.0.1/a/b/c/d/eSample

Output
acm.xidian.
qinz.maybe.im
www.
ftp.
127.0.0.1

HintSourceqinz
看好题目给定的格式只要取"协议类型://...(:端口号)/路径/文件名"就行!~~~
统一资源定位符的标准格式如下:
协议类型://服务器地址(:端口号)/路径/文件名



程序代码:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#define MAX 1024

int main()
{
    int t,i,j,l,b,e,f;
    char s[MAX],ss[MAX];
    scanf("%d",&t);
    while(t--)
    {
        scanf("%s",s);
        l=strlen(s);
        for(i=0,f=0,b=0,e=0;i<l;++i)
        {
            if(s[i]==':' && s[i+1]=='/' && s[i+2]=='/')
            {
                b=i+3;
                for(j=b;j<l;++j)
                    if(s[j]==':' || s[j]=='/')    {e=j-1;break;}
                f=1;
            }
            if(f)    break;
        }
        for(i=b,j=0;i<=e;++i)    ss[j++]=s[i];
        ss[j++]='\0';
        printf("%s\n",ss);
    }
    return 0;
}


[ 本帖最后由 C_戴忠意 于 2013-3-4 19:32 编辑 ]

编程之路定要走完……
2013-03-04 19:26
i524790636
Rank: 1
等 级:新手上路
帖 子:3
专家分:1
注 册:2012-10-21
收藏
得分:0 
回复 133楼 C_戴忠意
程序代码:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAX 1024
void fuction(char *s,int l)
{
    int i,k,f;
    char ss[MAX]="";
    for(i=0,;i<l;i++)
    {
        if(s[i]==':'&&s[i+1]=='/'&s[i+2]=='/')
        {
            i+=3;
            for(k=i;k<l;k++)
            {
                if(s[k]=='/'||s[k]==':')
                {
                    for(f=0;i<k;i++)
                    {
                        ss[f++]=s[i];
                    }
                    s[f]='\0';
                    printf("%s\n",ss);
                }
            }
        }
    }   
}
int main()
{
    int l,t;
    char s[MAX];
    scanf("%d\n",&t);
    while(t--)
    {
        scanf("%s",s);
        l=strlen(s);
        fuction(s,l);    
    }
    return 0;
}


[ 本帖最后由 i524790636 于 2013-3-8 11:10 编辑 ]
2013-03-08 11:00
aa33224411
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-3-12
收藏
得分:0 
看不懂- -
2013-03-12 23:11
jianxiawzx
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-4-24
收藏
得分:0 
回复 24楼 C_戴忠意
不用那么麻烦的。。看我的
程序代码:
#include <stdio.h>
#include <string.h>
int main()
{
    char a[10000];
    int i,j,n,b,t=0;
    scanf("%d",&n);
    for(j=0;j<n;j++)
    {
        t=0;
    scanf("%s",a);
    for(i=0;i<strlen(a);i++)
    {
        b=a[i]-'0';
        t=t+b;
      
    }
    if(t%3==0)
    printf("YES\n");
    else printf("NO\n");
    }
    return 0;
  
}

2013-03-19 23:35
冰冻零点
Rank: 3Rank: 3
来 自:西安电子科技大学
等 级:论坛游侠
帖 子:81
专家分:136
注 册:2012-9-18
收藏
得分:0 
看看

好好学习,天天向上
2013-03-21 21:14
waterstar
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:984
专家分:2810
注 册:2010-2-12
收藏
得分:0 
很久没来论坛看了,回来看看杨大哥。这些题有深有浅,很不错。

冰冻三尺,非一日之寒;士别三日,不足刮目相看!
2013-03-23 19:12
uushuo
Rank: 2
等 级:论坛游民
帖 子:13
专家分:31
注 册:2009-1-22
收藏
得分:0 
回复 33楼 C_戴忠意
1042题
本来想参考下别人更漂亮的代码,没找到AC的,贴上我的吧

题目:
Description

Qinz这就要乘飞机去参加百度总决赛了!在飞机上的饮料可是免费的,Qinz大牛可不能错过这次好机会。
 飞机上共有n个座位,且排成一列,而且这一列上面都已经有乘客了(编号从1到n),每个乘客都需要一杯茶或者一杯咖啡。漂亮的空姐正准备给每位乘客送饮料。
 在座位的前方有一个供应饮料的机器,可以提供茶叶和咖啡两种饮料,空姐每次可以在供应机处使用容量为
 7的托盘,也就是可以放7杯饮料,且每次只可以装茶或者咖啡一种饮料。
 空姐每次可以做如下动作:
 1:从供应机处移动到第一个座位或从座位移动到供应机,需要一秒钟。
 2:从座位i移动到座位i+1或者从座位i+1移动到座位i,需要一秒钟。
 3:给每位乘客提供饮料,需要四秒钟。
 4:空姐在返回供应机处取饮料需要47秒钟。

 Qinz想要知道空姐给所有乘客供应饮料最少需要多长时间
Input
第一行包含一个整数T,表明有T组输入数据。
接下来的T组输入数据中,每组数据第一行包含两组整数 n(1<=n<=1000) 和 m (1<=m <=n),分别表示总的乘客人数与要喝茶的人数.
接下的一行有 m 个整数,每个整数 i 表示 编号为 i的乘客需要喝茶。其余的 n-m 位乘客喝咖啡。
Output
对于每组输入输出一个整数,表明供应饮料所需的最少时间。

分析:
先送咖啡先送茶是一样的,从最远的地方开始送,每次送来回时间是走到最远点和会去的时间再加上机器占用的时间。因为每个人都要送到,所以最终时间是路程时间+机器占用时间+4*人数。

程序代码:
#include <stdio.h>
#include <string.h>

unsigned char posi[1024];
int main(int argc, char *argv[])
{
    int T,i,j,m,n,p,t;
    for (scanf("%d",&T),i=0; i<T; i++,printf("%d\n",t))
    {
        int x[2]={0,0};
        memset(posi,0,sizeof(posi));
        scanf("%d%d",&n,&m);
        t=4*n;
        for(j=0;j<m&&(scanf("%d",&p));j++) posi[p]++; 
        for(j=n;j>0;j--)
        {
            if(!x[posi[j]]) t+=2*j+47;
            x[posi[j]]++;
            x[posi[j]]%=7;
        }
    }
    return 0;
}


[ 本帖最后由 uushuo 于 2013-3-29 14:26 编辑 ]
2013-03-29 14:00
我是菜鸟……
Rank: 1
来 自:湖北工业大学
等 级:新手上路
帖 子:17
专家分:0
注 册:2013-3-22
收藏
得分:0 
回复 3楼 beyondyf
这个题目看似简单实际上要满足standarI/O:即要控制a,b的范围。我是湖北工业大学的,前不久我们的OJ上出过这个题,我那时做出来了的。许多题目standarI/O很麻烦,或许因为这个,在编译器上通过,可是提交后是wrong answer!的。题目要看清楚。
2013-03-29 20:54
快速回复:C论坛算法团队 首战 西安电子科技大学OJ
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023514 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved