Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

Re:帮忙看看: poj_1002 报 wrong answer 但是自测数据是正确的?

Posted by cd0001 at 2015-07-09 02:13:03
In Reply To:帮忙看看: poj_1002 报 wrong answer 但是自测数据是正确的? Posted by:paulou at 2013-04-25 20:34:23
> /*
>  * poj_1002.c
>  */
> #include <stdio.h>
> #include <stdlib.h>
> #include <string.h>
> 
> #define N (100000)
> #define SIZE (10000000)
> #define LEN (7)
> 
> static unsigned int item[SIZE];
> 
> static void poj_1002 ();
> static char * szl_itoa_c (int v, char buf[]);
> static unsigned int szl_atoui (char str[]);
> 
> int main (int argc, char * argv[]){
>     poj_1002 ();
>     return 0;
> }
> 
> static void poj_1002 (){
>     int i;
> 	int n;
> 	int tag;
> 	unsigned int v;
>     char str_temp[LEN*2+2];
> 	char str_out[9];
> 	memset (item, '\x00', SIZE);
> 
> 	scanf ("%d", &n);
>     for( i=0; i<n; i++){
>          scanf ("%s", str_temp);
>          v = szl_atoui (str_temp);
> 		 item[v]++;
> 	}
> 
>     tag = 0;
>     for (i=0; i<SIZE; i++){
>          if(item[i]>1){
>              szl_itoa_c (i, str_out);
> 			 printf ("%s %d\n", str_out, item[i]);
>              tag = 1;
> 		 }
> 	}
> 	if (!tag){
>         printf ("No duplicates.\n");
> 	}
> }
> 
> static unsigned int szl_atoui (char str[]){
>     unsigned int u_ret = 0;
> 	unsigned int u_t;
> 	char * t_ch;
> 	if(str){
>         t_ch = str; 
> 		while (*t_ch){
> 		    switch (*t_ch){
> 				case '0': u_t = 0; u_ret = u_ret * 10 + u_t; break;
> 			    case '1': u_t = 1; u_ret = u_ret * 10 + u_t; break;
> 				case '2': case 'A': case 'B': case 'C': u_t = 2; u_ret = u_ret * 10 + u_t; break;
>                 case '3': case 'D': case 'E': case 'F': u_t = 3; u_ret = u_ret * 10 + u_t; break;
>                 case '4': case 'G': case 'H': case 'I': u_t = 4; u_ret = u_ret * 10 + u_t; break;
>                 case '5': case 'J': case 'K': case 'L': u_t = 5; u_ret = u_ret * 10 + u_t; break;
>                 case '6': case 'M': case 'N': case 'O': u_t = 6; u_ret = u_ret * 10 + u_t; break;
>                 case '7': case 'P': case 'R': case 'S': u_t = 7; u_ret = u_ret * 10 + u_t; break;
>                 case '8': case 'T': case 'U': case 'V': u_t = 8; u_ret = u_ret * 10 + u_t; break;
>                 case '9': case 'W': case 'X': case 'Y': u_t = 9; u_ret = u_ret * 10 + u_t; break;
> 				default: break;
> 			}
> 			t_ch++;
> 		}
> 	}
> 	return u_ret;
> }
> 
> static char * szl_itoa_c (int v, char buf[]){
>     int i=0;
> 	int n=v;
> 	memset (buf, '0', 9);
> 	buf[8] = '\0';
> 	buf[3] = '-';
> 	while (n>0){
> 		if (4==i){
> 			i++;
> 	    }
> 	    buf[7-i] = '0' + n%10;
> 	    i++;
>         n/=10;
> 	}
> 	return buf;
> }

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator