第十天1153 Decode Registration Card of PAT大模拟题教训总结

本文总结了PAT模拟题A1153的解题经验,分析了在处理注册卡号码和成绩数据时遇到的问题。作者指出,面对数据规模较小的情况,采用朴素的双重循环方法即可满足时间复杂度要求,而不必过于追求复杂的算法,以确保在考试中快速拿到大部分分数。
摘要由CSDN通过智能技术生成

A1153

Description:

PAT注册卡包含以下内容:

  • 第1位字母代表测试等级;
  • 第2-4位表示考点号,从101-999;
  • 第5-10位为测试时间yymmdd;
  • 第11-13位为考生号,000-999

现给出一列注册卡号码以及考生的成绩,求不同的数据;

Input:

  • 一个测试一个样例;
  • 首行为两个正整数:卡片数量N<=1e4,询问数M<=100;
  • 接下来N行,每行给出了卡号和成绩[0-100];
  • 接下来M行询问;

反思:

  • 写了两次,都是代码又臭又长,两个多小时还写不完,一堆问题
  • 主要问题就在于,在一开始就把问题复杂化了,数据规模N<=1e4,O(M*N)可以满足要求,就没必要搞那些复杂的数据结构,直接二重循环做就OK,PAT考试中如果遇到这样的题目,一般不考察算法,能朴素就朴素,反正TLE不扣分可以再改,先拿大部分的分。
  • 向柳神学习👍
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#include<algorithm>
#include<set>
#include<map>
#include<unordered_map>
#include<vector>
#include<queue>
using namespace std;
const int maxn = 1e4+5;
struct node{
   
    string id;
    int v;
};
bool cmp(node &a, node &b){
   
    if(a
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值