bjfu1007振兴北林A坛

18 篇文章 1 订阅
14 篇文章 0 订阅

振兴北林A坛

时间限制(C/C++):1000MS/2000MS          运行内存限制:65536KByte
总提交:744            测试通过:171

描述

众所周知,当前北林A坛不景气,自从几位学长“退役”以后,仍在A坛活跃的寥寥无几,众多著名高手或未知名高手都不重视ACM,或只将其作为加分的手段,偶尔参加几次月赛;或干脆避而远之,造成北林A坛一片凄惨的光景(有点夸张^_^)。为此,ben多次向Professor Wang提出振兴北林A坛的想法。Professor Wang和ben一致认为搭建北林自己的OJ系统是提升北林ACM影响力和竞赛水平的重要手段。可是搭建OJ需要解决许多问题,其中一个便是用户注册的问题。注册用户名是由字母、数字和下划线(_)组成,且开头字符必须是字母或下划线,中间不能有空格,字符数量不超过20个,而且系统中不能有重复的用户名。

输入

输入包含多组测试数据,每组测试数据首先包含一个正整数n(当n<=0时表示输入结束),接下来是n个字符串,表示输入的用户名。

输出

如果输入的用户名序列满足上述条件,请输出"Resonable!",否则请输出"UnResonable!"。假设每组输入前系统为空。每组输出占一行。

样例输入

3
libai
dufu
wangwei
2
1988
_young
3
_112358
ben
ben

样例输出

Resonable!
UnResonable!
UnResonable!

题目来源

ben


简单的C语言编程。

AC代码:

#include<stdio.h>     
 #include<string.h> 
 int main() 
 { 
     int n,i,l,j,k,m,f; 
     char a[100][25]; 
     while(scanf("%d",&n)!=EOF) 
     { 
         if(n<=0) 
             break; 
         f=0; 
         getchar(); 
         for(i=0;i<n;i++) 
             gets(a[i]); 
         for(j=0;j<n;j++) 
         { 
             l=strlen(a[j]); 
             if(l>20) 
                 { 
                     f=1; 
                     break; 
                 } 
             if(a[j][0]>='0'&&a[j][0]<='9') 
             { 
                 f=1; 
                 break; 
             } 
             for(i=0;i<l;i++) 
             { 
             if(!((a[j][i]>='a'&&a[j][i]<='z')||(a[j][i]>='A'&&a[j][i]<='Z')||(a[j][i]>='0'&&a[j][i]<='9')||a[j][i]=='_')) 
             {   f=1; 
                 break; 
             } 
                } 
         } 
         for(m=0;m<n;m++) 
             for(k=1;k<n;k++) 
                 if(strcmp(a[m],a[m+k])==0) 
                     f=1; 
         if(f==1) 
             printf("UnResonable!\n"); 
         else
             printf("Resonable!\n"); 
               
     } 
     return 0; 
 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值