• NYOJ845


    描述 子晓最近在玩无主之地1,他对这个游戏的评价不错,结合了FPS与RPG元素,可玩度很高。不过,他发现了一代的任务系统做的不好,任务系统并没有帮他统计清楚哪个区域有多少任务,而且,给任务的时候呢,也比较散乱。比如,在1区域的一个任务点,你领到了4个任务;2区域的一个任务点,你领到了3个任务;游戏一段时间后,你又在1区域另一个任务点个领到了3任务(之前任务没有完成),3区域领到了9个任务……他感觉很凌乱,现在他要设计一个程序来统计每个区域有多少个任务。
    输入
    多组测试数据,以输入0 0结束
    每组数据占一行,输入m区域,n个任务(0<m,n<100)
    输出
    输出各个区域的统计结果(不要求排序)
    样例输入
    1 3
    2 3
    3 4
    1 7
    0 0
    样例输出
    1 10
    2 3
    3 4


    //错误代码WA
    #include<stdio.h>
    #include<string.h>
    int main(){
    	int a,b;
    	int s[101];
    	memset(s,0,sizeof(s));
    	while(1){
    		scanf("%d %d",&a,&b);
    		if(a==b && b==0)break;
    		s[a] += b;
    	}
    	int count = 1;
    	while(1){
    		if(s[count]==0)break;
    		printf("%d %d
    ",count,s[count]);
    		count++;
    	}
    	return 0;
    }  


    //关于本题,题目不让排序做就不要排序,排了序反而是错的
    //已AC代码
    #include<stdio.h>
    #include<string.h>
    int main(){
    	int a,b,i,count = 0;
    	int s[101],x[101];
    	memset(s,0,sizeof(s));	
    	memset(x,0,sizeof(x));
    	while(1){
    		scanf("%d %d",&a,&b);
    		if(!(a || b)) break;
    		for(i = 0; i < count; i++){
    			if(s[i] == a){
    				x[i] += b;
    				break;
    			}
    		}
    		if(i == count){
    			s[count++] = a;
    			x[count-1] = b;
    		}
    	}
    	for(i = 0; i < count; i++)
    		printf("%d %d
    ",s[i],x[i]);
    	return 0;
    }        




  • 相关阅读:
    xdvipdfmx:fatal: Unable to open "xxx.pdf". Output file removed. fwrite: Broken pipe xelatex.exe
    安装Visual Studio 时窗口闪过就退出
    一些概念的收集
    如何让字符串中奇怪的空格现出原形
    mysql替换特殊字符
    asscii码对应表
    Linux下的tar压缩解压缩命令详解
    centos 6.8 /etc/sysconfig/下没有iptables的问题
    mysqldumpslow简单用法
    linux查询占用空间较大的文件
  • 原文地址:https://www.cnblogs.com/gwj1314/p/9444965.html
Copyright © 2020-2023  润新知