nyoj题目845:无主之地1

news/2025/3/15 11:17:12/

无主之地1

时间限制: 1000 ms  |           内存限制: 65535 KB
难度: 0
描述
子晓最近在玩无主之地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

 

 

 
#include <stdio.h>

int main ()
{
    int a[100] = {0}, m, n, r = 1, i;
    while (1)                  
    {
          scanf ("%d%d", &m, &n);
          if (m == 0 && n == 0)                 //当m==0和n==0跳出
          break;
          if (r <= m)                                   //求出循环个数
          r = m;
          a[m] = a[m] + n;
    }
    for (i = 1; i <= r; i++)                        //依次输出。
    {
    printf ("%d ", i);
    printf ("%d\n", a[i]);

    }
    return 0;
}
       

自己第一次的代码,没有错误,但忽略了一句话就是不能排序。

 

 
#include <stdio.h>

int main ()
{
    int a[100] = {0}, m, n, i, r = 1, b[100] ={0}, q;
    while (1)
    {
          scanf ("%d%d", &m, &n);
          if (m == 0 && n == 0)
          break;
          for (i = 1; i < 1000; i++)
          {
              if (b[i] != m && b[i] == 0)             //如果b[i] != m和b[i] == 0则让b[i ] == m。如果b[i]==m则需进行相加,如果b[i] == 0;则说明这个区域刚开始计数。
              b[i] = m;
              if (b[i] == m)
              break;
          }
          if (r <= m)
          r = m;
          a[m] = a[m] + n;
    }
    for (i = 1; i <= r; i++)
    if (b[i] != 0 && a[b[i]] != 0)                                //答案的输出没有0 0的情况,所以要排除
    printf ("%d %d\n", b[i], a[b[i]]);
    return 0;
}
  

 

花了好几天,刚开始不知道哪错了,后一直在排序上错。

网上个提示

警告后人比方说 输入
1 3
4 2
1 7
2 1
00
输出结果 应该是
1 10
4 2
2 1

 

 

 

 


http://www.ppmy.cn/news/510490.html

相关文章

MOOC《Linux内核分析》——进程切换的过程

许松原创&#xff0c;转载请注明出处 《Linux内核分析》MOOC课程 http://mooc.study.163.com/course/USTC-1000029000 引 这是本次线上课程的最后一周&#xff0c;本次课程将会分析schedule()函数的执行过程&#xff0c;并结合之前所学来理解Linux进程调度以及切换的过程。 …

无主之地2 SaveEdit 使用说明

本文不做任何商业用途&#xff0c;只为交流学习之用。 请支持正版游戏&#xff0c;杜绝盗版。 干货: 1.下载saveEidt blog.gib.me “Borderlands: The Pre-Sequel! Save Editor”为前传的修改器。 “Borderlands 2 Save Editor” 是borderlands 2 的 修改器。 点击 Down…

Linux内存泄漏valgrind

Valgrind 是一个内存调试和性能分析工具&#xff0c;可以检测包括内存泄漏、使用未初始化的变量等内存相关错误&#xff0c;并提供详细的错误信息和定位&#xff0c;是 C/C 开发中不可或缺的工具之一。 具体使用步骤如下&#xff1a; 安装 Valgrind。在 Linux 环境下可以通过包…

datagrip 连接 phoenix

jar替换完后尽量重启datagrip. 然后重新连接即可. 不重启貌似报错... 效果:

list赋值方法add()...和set()简介

目录 一、方法展示 二、add() 方法介绍 2.1.add&#xff08;E element&#xff09; 2.1.1源码 2.1.2.实例截图 2.1.3.Null引起的题外话 2.2.add(int index, E element) 2.2.1.源码 2.2.2.示例截图 2.2.3. add()引起IndexOutOfBoundsException简介 三、addAll()方法…

漏刻有时数据可视化Echarts组件开发(27):端午地图粽情之你的家乡吃甜还是吃咸?

端午地图粽情之你的家乡吃甜还是吃咸&#xff1f; 前言Echarts创意来源Echarts核心代码1.引入外部文件2.构建HTML容器3.Echarts组件开发预置各省数据初始化DOM配置选项geo组件series组件自适应浏览器完整option选项配置代码 前言 中国各地对粽子的口味偏好存在一定的差异&…

苹果手机查看mysql_教你苹果手机怎么查几个月或多天以前的通话记录

原标题&#xff1a;教你苹果手机怎么查几个月或多天以前的通话记录 苹果手机会保存我们最近的通话记录&#xff0c;但你仔细查看后会发现&#xff0c;保存的通话记录条数是有限的&#xff0c;iPhone手机上只会显示最近100条通话记录&#xff0c;在这100条以前的通话记录在手机上…

苹果6严重卡顿_这样优化手机才能保持流畅,苹果安卓手机都适用

文/ 排版/ 对于现在的智能手机来说&#xff0c;已经远非以前的手机可比&#xff0c;拥有大内存&#xff0c;强大的处理器&#xff0c;可以说在用户使用流畅度方面是很不错的&#xff0c;但是不论是安卓手机还是苹果手机&#xff0c;在使用时间久了后&#xff0c;都是比较卡顿的…