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

problem: 1002

Posted by GUOZHIQIANG2016 at 2016-05-12 20:47:01
常见的引起错误的情况都已经考虑进去了,但一直是wrong answer,不知道哪里错了。代码如下:
#include<stdio.h>
#include<malloc.h>
#include<string.h>
char dict[8][3] = {{'A','B','C'}, {'D','E','F'},{'G','H','I'},{'J','K','L'},{'M','N','O'},{'P','R','S'},{'T','U','V'},{'W','X','Y'}};

void stand_num(char *num){		
		int num_length = strlen(num);
		int index = 0;
		int i=0;
		int m=0;
		int n=0;
		for(i=0;i<num_length;i++){	
			if(num[i] == '-'){
				num[i] = '\0';
			}
			else{				
				if(0<=num[i]-'0'&&num[i]-'0'<=9){					
					num[index++] = num[i];
				}
				else{						
						for(m=0;m<8;m++)
							for(n=0;n<3;n++)							
								if(dict[m][n] == num[i]){									
									goto setvalue;
								}	
						setvalue:num[index++] = (m+2)+'0';								
						}
								
			}
		}//for循环结束	
	num[index] = '\0';//the end symbol of the num	
	//return num;
	}	
void main(){
	long int i=0;
	long int j=0;
	long int k=0;
	long int m=0;
	long int  n=0;
	int h=0;
	long int totalnum=0;
	long int appeartime = 0;	
	char **numlist;
	char one_num[150] = {0};
	int hava_duplicates=0;
	scanf("%ld\n",&totalnum);
	numlist = (char**)malloc((totalnum+1)*sizeof(char));
	for(i=0;i<totalnum;i++){		
		gets(one_num);
		stand_num(one_num);
		numlist[i] = (char *)malloc(8*sizeof(char));
		for(h=0;h<7;h++)
			numlist[i][h] = one_num[h];
		numlist[i][h] = '\0';
	}	
	
	numlist[totalnum] = (char *)malloc(8*sizeof(char));
	numlist[totalnum][7] = '\0';
	
	for(i=1;i<=totalnum-1;i++)
		for(j=0;j<totalnum-i;j++){
			if(strcmp(numlist[j],numlist[j+1])>0){				
				numlist[totalnum]= numlist[j+1];
				numlist[j+1] = numlist[j];
				numlist[j] = numlist[totalnum];
			}
		}
	

	for(m=0;m<totalnum-1;m++){
		numlist[totalnum] = numlist[m];
		appeartime = 1;	
		for(n=m+1;n<totalnum;n++){		
			if(strcmp(numlist[n],numlist[totalnum])!=0){			
				if(appeartime>1){
					for(k=6;k>2;k--){
						numlist[totalnum][k+1]=numlist[totalnum][k];					
					}
					numlist[totalnum][k+1] = '-';
					hava_duplicates = 1;				
					printf("%s %d\n",numlist[totalnum],appeartime);	
					m = n-1;
					break;
					}
				else{
					break;
				}					
			}
			else{
				appeartime+=1;	
				if( n==totalnum-1){
					if(appeartime>1){
						for(k=6;k>2;k--){
							numlist[totalnum][k+1]=numlist[totalnum][k];					
						}
						numlist[totalnum][k+1] = '-';
						hava_duplicates = 1;		
						printf("%s %d\n",numlist[totalnum],appeartime);		
					}
				m = n-1;
				}
			}
			
		}	
	}
	
	if(hava_duplicates!=1){
		printf("No duplicates.\n");
	}

}

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