zoukankan      html  css  js  c++  java
  • [Aizu] 0100 SaleResult

    题目

    传送门: Sale Result

    描述

    给你一些你们公司的销售信息, 编写一个程序判断哪些雇员是优秀的
    该程序应读取数据列表, 其中每个项目包括员工ID i, 销售额q和相应的单价p. 然后, 程序应按输入顺序打印总销售额(即p×q的总和)大于或等于1,000,000的雇员的ID. 如果没有这样的员工, 程序应打印“NA”. 您可以假设n <4000, 并且每个员工都有唯一的ID. 单价p小于或等于1,000,000, 销售额q小于或等于100,000.

    输入

    输入包含多个测试用例, 输入以只有0的一行结束, 每一个测试样例如下:
    n (列表中数据的数量)
    i p q
    i p q
    .
    .
    i p q

    输出

    对于每一个测试用例, 输出雇员id的列表或者一个单词"NA"

    样例输入

    4
    1001 2000 520
    1002 1800 450
    1003 1600 625
    1001 200 1220
    2
    1001 100 3
    1005 1000 100
    2
    2013 5000 100
    2013 5000 100
    0
    

    样例输出

    1001
    1003
    NA
    2013
    

    求解

    分析

    程序设计很简单, 需要考虑的是一个雇员的id可能出现多次, 需要统计总和, 如果总和大于1,000,000, 并且它之前没有输出过, 那么就输出它的id, 否则只是单纯的加上总和, 不进行其他的处理

    设计

    使用total数组来存储每个雇员的销售额, 每个测试用例都需要重新清空一下,(PS: 如果数据量小的话, 记录下出现的id, 只清空出现的id也许是个不错的想法). 如果在加这次的销售额之前它小于1,000,000, 加完之后它大于1,000,000那么此时就输出它

    编码

    #include <bits/stdc++.h>
    using namespace std;
    #define GOOD 1000000
    
    long total[4005];
    
    int main(void) {
    	ios::sync_with_stdio(false);
    	cin.tie(0);
    
    	int n, id, p, q, cnt;
    	cin >> n;
    	while (n != 0) {
    		for (int i = 0; i < 4005; i++) {
    			total[i] = 0;
    		}
    		cnt = 1;
    		for (int i = 0; i < n; i++) {
    			cin >> id >> p >> q;
    			long before = total[id];
    			total[id] += p * q;
    			if (before < GOOD && total[id] >= GOOD) {
    				cout << id << endl;
    				cnt = 0;
    			}
    		}
    		if  (cnt) {
    			cout << "NA" << endl;
    		}
    		cin >> n;
    	}
    }
    

    结果

    总结

    没有一颗虔诚的心你是看不到总结的

    好吧, 其实只是我没写

  • 相关阅读:
    configuring express for ejs
    if else in EJS
    nodegroupchat exercise
    heap&stack 区别
    如何构建积木式Web应用(引自微软CSDN )
    Configuring IIS: Mapping .* to the aspnet_isapi.dll
    递归遍历XML生成树
    数据库应用:无法更新到数据库
    C#中HashTable的用法
    如何使用Eclipse编译C,C++,JAVA程序
  • 原文地址:https://www.cnblogs.com/by-sknight/p/10952338.html
Copyright © 2011-2022 走看看