hay points 1004.cpp

来自「哈工程大学oj上的1002」· C++ 代码 · 共 54 行

CPP
54
字号
#include<iostream>
#include<cstring>
using namespace std;
typedef struct MON{
	char s[20];
	int money;
}MON;
MON str[1001];
int compare(const void *a,const void *b)
{
    return strcmp( ((MON *)a)->s, ((MON *)b)->s);
} 
int com(const void *a,const void *b)
{
    return strcmp( (char*)a, ((MON*)b)->s);
}  

int main(){
	int i,j,m ,n;
	scanf("%d%d",&m,&n);
	for(i=0;i<m;i++){
		scanf("%s %d",&str[i].s,&str[i].money);
		//printf("%s %d\n",str[i].s,str[i].money);
	}
	qsort(str,m,sizeof(MON),compare);
	getchar();
	//system("pause");
	while(n--){
		char t[1000000];
		int sum=0;
		while(gets(t)){
			if(t[0]=='.')break;
			int l=strlen("t");
			i=0;
			while(1){
				char ptr[20];
				int j=0;
				while(t[i]!=' '&&t[i]!='\0'){
					ptr[j++]=t[i++];
				}
				ptr[j]='\0';
				//puts(ptr);
				MON *locate;
				locate=(MON*)bsearch(ptr,str,m,sizeof(MON),com);
	if(locate!=NULL){ sum+=locate->money; }
				if(t[i]=='\0')break;
				i++;
			}
		}
		cout<<sum<<endl;
		}
	return 0;
}	

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?