哎,pat1010即使java书面,只有java书面,还增加了两个点,,。啊,智商捉佳,主要pat有些不给明确的范围。造成遐想空间。。

还是按顺序介绍。。

题目地址:http://pat.zju.edu.cn/contests/pat-a-practise

1009:

题目大意:模拟多项式相乘的。比方(5x^3+4x)*(4x^2+6)这种,直接用数组存储就好,反正最多1000+1000=2000项

AC代码:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
#include<algorithm>
using namespace std;
const int maxn=2005;double a[maxn],b[maxn];
double ans[maxn];int res1[maxn];
double res2[maxn];int main()
{int n,i,j;int x;double ax;while(cin>>n){memset(a,0,sizeof(a));memset(b,0,sizeof(b));memset(ans,0,sizeof(ans));for(i=0;i<n;i++){cin>>x>>ax;a[x]=ax;}cin>>n;for(i=0;i<n;i++){cin>>x>>ax;b[x]=ax;}for(i=0;i<=1000;i++){for(j=0;j<=1000;j++){ans[i+j]+=a[i]*b[j];}}int t=0;for(i=2000;i>=0;i--){if(fabs(ans[i])>=0.1){t;res1[t]=i;res2[t++]=ans[i];}}cout<<t;for(i=0;i<t;i++)printf(" %d %.1f",res1[i],res2[i]);cout<<endl;}return 0;
}/*
2 1 2.4 0 3.2
2 2 1.5 1 0.5
*/

1010:

题目大意:给你n1,n2,flag,p四个数字。假设flag是1的话。那么n1是p进制的数字,那么我们是否能找到一个数k。使得n2是k进制,使得n1(p)==n2(k),假设存在多个k,找最小的k,假设一个也不存在,那么直接输出Impossible,假设flag是2。我们须要找的是n2(p)==n1(k)。其它都一样。

解题思路:这个题目我WA了15次以上。。

最開始认为0-9。a-z最多不超过36进制,算了一下。用long long 写了一发。分数仅仅能拿12分/25分。到最后才想起来可能有这种数据:

zzzzzzzzz zzzzzzzzz 1 1000

然后把枚举进制的范围扩大到1000,发现能够拿24分了。可是发现再开大就会爆内存,后来想了一下,会有这种数据:

zzzzzzzzz zzzzzzzzz 1 10000000000

最后非常果断的选择了java的大数类和二分来找答案。

这题真的非常不easy。。。。

AC代码:

//package xixi;
import java.util.*;import java.math.*;public class Main {public static void main(String args[]){String s1,s2,s3;BigInteger ans,ss,n;int flag;Scanner cin = new Scanner(System.in);while(cin.hasNext()){s1=cin.next();s2=cin.next();flag=cin.nextInt();n=cin.nextBigInteger();if(flag==2){s3=s1;s1=s2;s2=s3;}int len=s1.length();ans=BigInteger.ZERO;for(int i=0; i<=len-1; i++){int tmp;if(s1.charAt(i)>='a'&&s1.charAt(i)<='z') tmp=s1.charAt(i)-'a'+10;else tmp=s1.charAt(i)-'0';ans=ans.multiply(n).add(BigInteger.valueOf(tmp));}//System.out.println(ans);BigInteger res=BigInteger.ZERO;int t;len=s2.length();String pp="100000000000000000000";  //10^20BigInteger l,mid;l=BigInteger.ONE;BigInteger r=new BigInteger(pp);while(r.compareTo(l)>=0)  {ss=BigInteger.ZERO;mid=l.add(r).divide(BigInteger.valueOf(2));int fla=0;for(int i=0; i<=len-1; i++){int tmp;if(s2.charAt(i)>='a'&&s2.charAt(i)<='z') tmp=s2.charAt(i)-'a'+10;else tmp=s2.charAt(i)-'0';if(BigInteger.valueOf(tmp).compareTo(mid)>=0){fla=1;break;}ss=ss.multiply(mid).add(BigInteger.valueOf(tmp));}if(fla==1) {l=mid.add(BigInteger.ONE);}if(ss.compareTo(ans)==0){res=mid;r=mid.add(BigInteger.valueOf(-1));}else if(ss.compareTo(ans)>0){r=mid.add(BigInteger.valueOf(-1));}else {l=mid.add(BigInteger.ONE);}}if(res.compareTo(BigInteger.ZERO)>0) System.out.println(res);else System.out.println("Impossible");}}
}/*
6 110 1 10
1 ab 1 2
110 6 1 2
zzzzzzzzz zzzzzzzzz 1 10000000000
*/

1011:

题目大意:20分的题目,直接看样例就能够了,找三行里面每行最大的数,然后标记。然后计算就能够了。

AC代码:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
#include<algorithm>
#define ll long long
using namespace std;
const double eps=1e-12;char mp[3]= {'W','T','L'};
char ans[3];struct node
{double x;int index;
}nod[3];int cmp(node p1,node p2)
{if(p1.x>p2.x) return 1;return 0;
}int main()
{double res;int i;while(cin>>nod[0].x>>nod[1].x>>nod[2].x){int t=0;res=1.0;for(i=0; i<3; i++)nod[i].index=i;sort(nod,nod+3,cmp);res=res*nod[0].x;ans[t++]=mp[nod[0].index];int xy=2;while(xy--){cin>>nod[0].x>>nod[1].x>>nod[2].x;for(i=0; i<3; i++)nod[i].index=i;sort(nod,nod+3,cmp);res=res*nod[0].x;ans[t++]=mp[nod[0].index];}res=(res*0.65-1)*2;double res1=res*100;/*cout<<res1<<endl;if(res1-int(res1)>=0.5){res1=res1+1;}res=res1/100.0;*/printf("%c %c %c %.2f\n",ans[0],ans[1],ans[2],res+eps);//不加这个eps硬是少一点。。

} return 0; } /* 1.1 2.5 1.7 1.2 3.0 1.6 4.1 1.2 1.1 */

1012:

题目大意:给一个班全部学生的成绩,包含C。M。E三种成绩。当然我们能够算出他的A成绩,然后我们每次依据学号来查询一个人的成绩排名,四种成绩会有四种排名。我们须要最靠前的排名,假设有同样的。依照A > C > M > E的顺序就可以。

AC代码:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
#include<algorithm>
#include<map>
#define ll long long
using namespace std;
const int maxn=2005;map<string,int> mp;
struct node
{double a;double c;double m;double e;
}nod[maxn];int main()
{int n,m,i,j;while(cin>>n>>m){string s;double mc,mm,me;for(i=1;i<=n;i++){cin>>s>>mc>>mm>>me;nod[i].a=(mc+mm+me)/3.0;nod[i].c=mc,nod[i].e=me,nod[i].m=mm;mp[s]=i;}for(i=0;i<m;i++){int rank1=n+1;char res;cin>>s;if(!mp[s]){puts("N/A");continue;}//原谅我把一段代码复制了四遍。。。double tmp=nod[mp[s]].a;   //Aint cnt=1;for(j=1;j<=n;j++){//cout<<nod[j].a<<endl;if(nod[j].a>tmp)cnt++;}if(cnt<rank1){rank1=cnt;res='A';}//cout<<rank1<<endl;tmp=nod[mp[s]].c;   //Ccnt=1;for(j=1;j<=n;j++){if(nod[j].c>tmp)cnt++;}if(cnt<rank1){rank1=cnt;res='C';}tmp=nod[mp[s]].m;   //Mcnt=1;for(j=1;j<=n;j++){if(nod[j].m>tmp)cnt++;}if(cnt<rank1){rank1=cnt;res='M';}tmp=nod[mp[s]].e;   //Ecnt=1;for(j=1;j<=n;j++){if(nod[j].e>tmp)cnt++;}if(cnt<rank1){rank1=cnt;res='E';}printf("%d %c\n",rank1,res);}}return 0;
}/*
5 6
310101 98 85 88
310102 70 95 88
310103 82 87 94
310104 91 91 91
310105 85 90 90
310101
310102
310103
310104
310105
999999
*/

世界杯今日开战。mark一下。!

版权声明:本文博客原创文章,博客,未经同意,不得转载。

浙江大学PAT考试1009~1012(1010上帝是冠军。。)相关推荐

  1. 浙江大学PAT考试基础知识整理

    本人新手菜鸟一枚,因为最近在准备浙大PAT考试所以就整理了以下为刚刚入门的新手自己准备的一些有用的资料!仅供参考 1.在用例输入的时候,不用自己手动输入,可以先新建一个1.txt文档,把输入粘贴到上面 ...

  2. PAT考试乙级1010之一元多项式求导

    PAT考试乙级1010之一元多项式求导 题目: 设计函数求一元多项式的导数.(注:x​n(n为整数)的一阶导数为nx​n−1.) 输入格式: 以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 ...

  3. PAT甲级1009 Product of Polynomials:[C++题解]多项式乘法、高精度乘法

    文章目录 题目分析 题目链接 题目分析 多项用一个数组来表示,数组下标表示多项式的次幂,存的内容表示多项式的系数. 然后用两重循环来计算多项式的乘法: for i : 第二个式子for j:第一个式子 ...

  4. 2019年9月 第一次参加PAT考试体验及题解

    2020-12-16 更新: 时间过得好快,大四上学期已经上完了. 楼主现在保研本校(北京邮电大学)计算机科学与技术(计算机学硕),计算机网络+机器学习方向,现在国内经济不景气,我在学校深深体会到了学 ...

  5. 2019春季PAT考试甲级答案

    20190302春季PAT考试甲级答案 7-1 Sexy Primes (20 分) Sexy primes are pairs of primes of the form (p, p+6), so- ...

  6. PAT 乙级 1009

    题目 题目地址:PAT 乙级 1009 题解 本题本身属于比较简单的字符串操作题,但是因为对于string的操作和函数不熟悉导致本题做起来很费劲,需要加强对于string类以及相关方法的理解和熟练程度 ...

  7. PAT学习资料汇总(PAT甲级、PAT顶级、PAT考试经验)

    二.PAT甲级 PAT甲级真题目录(按题型整理) PAT甲级真题目录(按题型整理)_love music.的博客-CSDN博客_pat甲级真题 PAT甲[所有题目+解析+代码示例+总结]附带所有历年整 ...

  8. PAT甲级1009 Product of Polynomials (25分)

    PAT甲级1009 Product of Polynomials (25分) 题目: 题目分析:和之前有一道多项式相加很像,注意点是不仅仅数组系数会变,还可能会出现之前没有的指数,因此要开2001大小 ...

  9. 算法初步--二分法(以PAT考试A1010为例题)

    算法初步--二分法 二分法的经典问题 经典问题的微扩展 经典问题的总结 PAT考试真题A1010.Radix 后记 二分法的经典问题 从一个经典问题开始:给定一个严格递增序列,要求找到当中的某个元素所 ...

最新文章

  1. Spark在不同集群中的运行架构
  2. C++——auto_ptr类
  3. fiddler插件开发
  4. SDH光端机的应用介绍
  5. apache+mysql+wordpress的安装建站
  6. 浅谈缓冲区溢出之栈溢出上
  7. 高通HAL层之Sensor HAL
  8. 中国队拿下口罩人脸识别世界第一!还将推全球最大公开人脸数据集
  9. HTML5期末大作业:个人网站设计——简单响应式个人博客HTML模板(8页面) HTML+CSS+JavaScript...
  10. sc2017新高二高一模拟赛7 总结
  11. proface普洛菲斯触摸屏维修GP4601TAA PFXGP4601TAA及故障处理
  12. 北京的房租到底有多高?
  13. 这可能是我见过最好的博客系统!(附源码)
  14. 分支过程灭绝概率matlab,某类遗传环境下的两性分支过程:有关伴Y基因的灭绝概率问题...
  15. app error login.php,自定义错误Think\Think::appError 设计有问题!!
  16. Windows个人电脑的自我防护(包括nmap的扫描端口和cmd的跃点追踪)
  17. 华东交大计算机绘图,华东交通大学理工学院本科毕业设计(论文)新手册.doc
  18. speedoffice(Word)怎么将文字设置成倾斜的
  19. C语言中关于指针等相关理解和使用事宜
  20. 是python语言保留字的是_以下不属于Python语言保留字的是( )

热门文章

  1. jQuery学习笔记——jQuery选择器详解种类与方法
  2. Angular-搜索框及价格上下限
  3. 资产管理大佬讲述:如何用大数据及人工智能挑选基金?
  4. 日本光伏相关企业倒闭数量上升 帝国征信调查
  5. python 装饰器 二 (装饰带参数的函数)
  6. 构建linux下的web服务器
  7. 深思:如何堂堂正正的做事
  8. reporting services 导出pdf格式优化
  9. 商务智能 “软肋”何在?
  10. SharePoint 2007图文开发教程(6)---实现Search Services