PAT甲级
nuaa050810709
这个作者很懒,什么都没留下…
展开
-
PAT A1001
此题数据规模不大,可将a,b定义为int,直接将其相加即可。此题的难度在于要按照规定的格式输出sum,主要有两种思路。1,将sum从个位起,按位存放到字符数组中,每存3位,加上一个逗号,然后将字符数组从高位输出;2,将sum从低位起,每3位存放到整形数组中,然后从高位输出,输出注意补0和逗号。AC代码如下,采用第二种思路#include <iostream>using n...原创 2018-03-07 21:31:29 · 441 阅读 · 0 评论 -
PAT A1052
思路:将所有节点sort一下,按从小到大输出坑点:给出节点可能有无效节点,故需要先把输入保存起来,再找出有效节点,另外还有全是无效节点的特殊情况。AC代码如下:#include <iostream>#include <algorithm>using namespace std;const int max_n = 100010;struct Node{ int ...原创 2018-03-11 17:10:03 · 314 阅读 · 0 评论 -
PAT A1132
AC代码如下#include <iostream>#include <cstring> using namespace std;int char_to_int(char str[],int l,int r){ int num = 0; for(int i = l ;i <=r ;i++){ num *= 10; num += (str[i] - ...原创 2018-03-11 15:16:14 · 386 阅读 · 0 评论 -
PAT A1128
AC代码如下#include <iostream>#include <cmath>using namespace std;const int max_k=210;int output[max_k]={0};const int max_n=1100;int queen[max_n]={0};bool is_solution(int n,int a[]){...原创 2018-03-11 15:15:03 · 470 阅读 · 0 评论 -
PAT A1120
AC代码如下#include <iostream>using namespace std;const int max_n=10010;int num[max_n]={0};int ID[100]={0};int friendID(int a){ int sum = 0; do{ sum+=a%10; a/=10; }while(a); return su...原创 2018-03-11 15:08:27 · 206 阅读 · 0 评论 -
PAT A1116
AC代码如下#include <iostream>#include <iomanip>using namespace std;const int max_n = 10010;int contestants[max_n] = {0};//记录参赛者的名次int query[max_n];bool is_prime_num(int num) { //只有名次2...原创 2018-03-11 15:06:52 · 196 阅读 · 0 评论 -
PAT A1112
思路:每读入字符判断是否为stucked,若不是加入not_stuck表,若是加入stuck表,最后输出stuck表及按规则输出原串坑点:要分两次遍历,第一次更新not_stuck表,第二次更新stuck表,否则遇到一个字符未被阻塞还需去检查之前有没有加入stuck表AC代码如下#include <iostream>#include <cstring>using nam...原创 2018-03-11 15:05:40 · 320 阅读 · 0 评论 -
PAT A1059
思路:先找出素数,然后分别判断是否为其因子。坑点:1、输入为1时单独输出。AC代码如下#include <iostream>#include <cmath>using namespace std;const int max_n = 100010;bool is_prime(int n){ if(n == 1) return false; int sqr = ...原创 2018-03-11 14:59:26 · 282 阅读 · 0 评论 -
PAT A1025
AC代码如下#include <iostream>#include <algorithm>#include <cstring>using namespace std;const int max_n=30010;struct Student{ char id[15]; int score; int location_number; int l...原创 2018-03-11 14:55:52 · 150 阅读 · 0 评论 -
PAT A1011
水题,AC代码如下:#include <iostream>using namespace std;double profit=1.0;char max_three(double a,double b,double c){ if(a>b){ if(a>c) { profit*=a; return 'W'; } else { profit*...原创 2018-03-11 14:53:33 · 149 阅读 · 0 评论 -
PAT A1060
主要思路:将输入的两个字符串转化成科学计数法,然后比较指数和底数是否全部相等。坑点:1、0001要正确把前面0删去2、若数据为0,需要将指数置为0AC代码如下#include <iostream>#include <string>using namespace std;const int max_n = 110;struct science_num{ stri...原创 2018-03-11 14:50:35 · 184 阅读 · 0 评论 -
PAT A1032
很简单的一题,两个链表共用尾节点,找出第一个共用节点的地址。主要思路:先求两个链表的表长,然后将长的一个先行遍历,直至两者相等,然后两表同时遍历,找到公共节点,将其输出。坑点:因为用int存储的地址,注意输出格式补齐5位AC代码如下#include <iostream>#include <cstring>using namespace std;const int m...原创 2018-03-11 14:44:20 · 576 阅读 · 1 评论 -
PAT A1008
没什么难点,AC代码如下#include <iostream>using namespace std;const int max_n = 110;int floor[max_n]={0}; int spend_time(int from , int to) { if(from < to) return 6*(to-from); else return 4*(fro...原创 2018-03-08 01:17:40 · 168 阅读 · 0 评论 -
PAT A1005
因为数据和在0-900之间,故可以采用一种取巧的方法,直接分成0-9,10-99,100-900三段输出AC代码如下#include <iostream>using namespace std;const int max_n = 110;char N[max_n];const char *num[]={"zero","one","two","three","four",&原创 2018-03-08 00:58:26 · 149 阅读 · 0 评论 -
PAT A1002
解题思路:1、构造结构体poly,包含两个成员(指数和系数),将输入的两个多项式分别保存到两个poly数组;2、比较两个多项式的低幂项,将指数较低的 指数和系数 作为和多项式的 指数和系数,若指数相同,则将系数和作为和多项式的系数(注意此处有一坑点,若两个多项式系数刚好为相反数,则和多项式系数为0);3、按格式输出和多项式。AC代码如下#include <iostream>using...原创 2018-03-07 23:14:35 · 182 阅读 · 0 评论 -
PAT A1020
模板题,考察建树和遍历的基本操作坑点:注意输出格式,建立变量num记录已输出的节点,最后一个节点后没有空格AC代码如下#include <iostream>#include <queue>using namespace std;const int max_n = 40;int n,post[max_n],in[max_n];struct node{ int ...原创 2018-03-13 11:23:57 · 383 阅读 · 0 评论