- 博客(45)
- 资源 (1)
- 收藏
- 关注
原创 【PAT】1008. Elevator
#define LOCAL#include #include #include #include #include using namespace std;int main(){ #ifdef LOCAL freopen("data.in","r",stdin); freopen("data.out","w",stdout); #
2017-01-31 00:26:53 208
原创 【PAT】1049. 数列的片段和
#define LOCAL#include #include #include #include #include using namespace std;int main(){ #ifdef LOCAL freopen("data.in","r",stdin); freopen("data.out","w",stdout); #
2017-01-31 00:13:48 472
原创 【PAT】1101. Quick Sort
#include #include #include #include #include using namespace std;const int INF = 1000000007;const int N = 100010;int a[N];int la[N];int flag[N];int ans[N];int main(){ #ifdef LOCAL
2017-01-29 23:14:31 268
原创 【PAT】1093. Count PAT's
关键:转化思路,转为求左边p和右边t的个数#define LOCAL#include #include #include #include #include using namespace std;const int INF = 1000000007;const int N = 100010;char str[N];int l[N];int main(){
2017-01-29 22:45:08 295
原创 【PAT】1029. Median
不知为何我的代码有一组数据过不了#include #include #include #include #include using namespace std;const int N = 1000010;long long a[N],b[N];int main(){ #ifdef LOCAL freopen("data.in","r",stdin
2017-01-29 19:53:42 294
原创 【PAT】1089. Insert or Merge
22分的代码:#define LOCAL#include #include #include #include #include using namespace std;const int maxn=110;int a[maxn];int b[maxn];void print(int a[],int n){ for(int i=0;i<n;i++){
2017-01-29 16:55:10 363
原创 【PAT】1044. Shopping in Mars
关键:初始化时预处理,产生sum单调序列,从而转化为二分查找#define LOCAL#include #include #include #include #include using namespace std;const int maxn=100010;int sum[maxn];int main(){ #ifdef LOCAL freop
2017-01-28 17:28:56 286
原创 【PAT】1010. Radix
关键:注意这里radix没有范围,可以大到longlong溢出,所以比较两个数可以用剪枝方法判断,即设置一个特定的比较方法当溢出时直接返回,另外查找用二分法#include #include #include #include #include using namespace std;long long inf = (1LL<<63)-1;long long Map[256]
2017-01-26 18:47:22 302
原创 【PAT】1085. Perfect Sequence
#define LOCAL#include #include #include #include #include using namespace std;const int maxn=100010;int a[maxn];int main(){ #ifdef LOCAL freopen("data.in","r",stdin); f
2017-01-25 22:55:19 333
原创 【PAT】1038. Recover the Smallest Number
关键:贪心,找到排序的关键点#define LOCAL#include #include #include #include #include using namespace std;string a[10010];bool cmp(string a,string b){ return a+b<b+a;}int main(){ #ifdef LOCAL
2017-01-25 21:08:53 288
原创 【PAT】1067. Sort with Swap(0,*)
关键:当0回归原位遍历数组查找不在本位的数时,应定义一个全局变量k,避免每次查找都是o(n)的数量级,这样之后所有查找只是线性时间完成#define LOCAL#include #include #include #include using namespace std;const int maxn=100010;int a[maxn];int b[maxn];int
2017-01-25 20:41:10 181
原创 【PAT】1037. Magic Coupon
#include #include #include #include using namespace std;const int MAXN = 100010;int a[MAXN];int b[MAXN];bool cmp(int a,int b){ return a>b;}int main(){ #ifdef LOCAL freopen
2017-01-25 16:14:33 221
原创 【PAT】1033. To Fill or Not to Fill
#define LOCAL#include #include #include #include using namespace std;const int INF = 1000000000;struct Station{ double dist; double price;}st[550];bool cmp(Station a,Station b){
2017-01-25 14:26:51 287
原创 【PAT】1070. Mooncake
注意:这里要用double保存库存量,原因不明#define LOCAL#include #include #include #include using namespace std;struct MoonCake{ double v; double p; double key;}moon[1010];bool cmp(MoonCake a,Moon
2017-01-24 19:25:14 304
原创 【PAT】1048. Find Coins
#define LOCAL#include #include #include #include using namespace std;const int MAXN=100000+10;int a[MAXN];int h[1000];int main(){ #ifdef LOCAL freopen("data.in","r",stdin);
2017-01-24 00:07:11 361
原创 【PAT】1050. String Subtraction
#include #include #include #include using namespace std;int h[130];int main(){ #ifdef LOCAL freopen("data.in","r",stdin); freopen("data.out","w",stdout); #endif // LOCA
2017-01-23 22:36:37 234
原创 【PAT】1041. Be Unique
#define LOCAL#include #include #include #include using namespace std;int a[100010];int h[10010];int main(){ #ifdef LOCAL freopen("data.in","r",stdin); freopen("data.out",
2017-01-23 22:27:00 262
原创 【PAT】1092. To Buy or Not to Buy
#define LOCAL#include #include #include #include using namespace std;int h[130];int s[130];int main(){ #ifdef LOCAL freopen("data.in","r",stdin); freopen("data.out","w",st
2017-01-23 20:51:38 267
原创 【PAT】1084. Broken Keyboard
#include #include #include #include using namespace std;int s[1000];int h[1000];int main(){ #ifdef LOCAL freopen("data.in","r",stdin); freopen("data.out","w",stdout); #
2017-01-23 16:59:42 231
原创 【PAT】1080. Graduate Admission
关键:主要是理清题意,注意这里要标记好很多条件,比如学生被录取后必须标记已被录取,或用其他方法,刚开始时因为sort的比较函数多了一个判断结果超时了#define LOCAL#include #include #include #include using namespace std;struct Person{ int ge,gi,grade; int choi
2017-01-23 12:54:46 359
原创 【PAT】1075. PAT Judge
#include #include #include #include using namespace std;struct Person{ int score[6]; int sum; int id; int perfect; bool flag;}person[10001];bool cmp(Person a,Person b){
2017-01-22 18:11:56 260
原创 【PAT】1083. List Grades
#include #include #include #include using namespace std;struct Student{ char name[12],id[12]; int grade;}stu[100];bool cmp(Student a,Student b){ return a.grade>b.grade;}int ma
2017-01-22 10:11:35 198
原创 【PAT】1055. The World's Richest
关键:预处理,注意到M的范围只有100,排序后重开一个数组记录在该年龄前一百的记录,从而数据量只有10000,而不是原来的100000,启示我们优化可以从数据量入手,比如这里年龄只有0到100,每个年龄的数据量最多100从而找到优化的地方#include #include #include #include using namespace std;struct Student{
2017-01-21 13:11:28 341
原创 【PAT】1028. List Sorting
#include #include #include #include using namespace std;struct Student{ char id[7]; char name[10]; int grade;}stu[100010];int col;bool cmp(Student a,Student b){ if(col==1) ret
2017-01-21 10:27:55 170
原创 【PAT】1012. The Best Rank
#include #include #include #include using namespace std;struct Student{ int id; int grade[4];}stu[2010];int now;bool cmp(Student a,Student b){ return a.grade[now]>b.grade[now];}
2017-01-21 10:14:26 193
原创 【PAT】1025. PAT Ranking
#include #include #include #include using namespace std;struct Student{ char id[15]; int score; int local_num; int local_rank;}stu[30010];bool cmp(Student a,Student b){ if(
2017-01-20 16:18:05 263
原创 【PAT】1082. Read Number in Chinese
关键:字符串问题,注意边界0的处理,各种特殊情况#include #include #include #include using namespace std;int main(){ char change[11][10]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu" }; char wei[5]
2017-01-20 00:25:46 469
原创 【PAT】1077. Kuchiguse
关键:旋转字符串,转化为最长前缀#include #include #include #include using namespace std;int main(){ int n; cin>>n; char str[101][260]; int lenmin=260; getchar(); for(int i=0;i<n;i++)
2017-01-19 22:47:35 308
原创 【PAT】1035. Password
#include #include #include #include using namespace std;struct note{ char usr[11]; char pwd[11];}mem[1001];int flag[1001];int main(){ int n; cin>>n; int cnt=0; int f=
2017-01-19 21:02:20 211
原创 【PAT】1005. Spell It Right
#include #include #include #include using namespace std;char change[10][10]={ "zero","one","two","three","four","five","six", "seven","eight","nine"};int main(){ char str[110];
2017-01-19 16:50:09 318
原创 【PAT】1073. Scientific Notation
#include #include #include #include using namespace std;int main(){ char str[10010]; gets(str); char ans[10010]; int len=strlen(str); if(str[0]=='-') cout<<'-'; ans[0]=s
2017-01-19 15:49:12 206
原创 【PAT】1061. Dating
#include #include #include #include using namespace std;int main(){ char week[7][5]={"MON","TUE","WED","THU","FRI","SAT","SUN"}; int ans=0; char str1[70],str2[70],str3[70],str4[70];
2017-01-19 13:52:14 197
原创 【PAT】1058. A+B in Hogwarts
注意溢出,这里出现是计算结果产生溢出#include #include #include using namespace std;int main(){ long long g,s,k; scanf("%lld.%lld.%lld",&g,&s,&k); long long cost=17*29*g+29*s+k; scanf("%lld.%lld.
2017-01-18 12:16:02 227
原创 【PAT】1027. Colors in Mars
进制转化,通过开一个字符数组表示对应关系简化判断#include #include #include using namespace std;int main(){ char radix[13]={'0','1','2','3','4','5','6','7','8','9','A','B','C'}; int a,b,c; cin>>a>>b>>c;
2017-01-18 12:00:53 395
原创 【PAT】1019. General Palindromic Number
注意边界数据0的输出#include #include #include using namespace std;int main(){ int n,b; cin>>n>>b; int a[40]; int k=0; int ans=n; while(n){ a[k++]=n%b; n=n/b;
2017-01-18 11:16:31 194
原创 【PAT】1031. Hello World for U
#include#include#include #include#include using namespace std;char str[82];int main(){ scanf("%s",str); int n=strlen(str); int ans=0,k=3; int n2; while(k<n){ if(3
2017-01-17 22:01:20 220
原创 【PAT】1036. Boys vs Girls
#include #include #include using namespace std;struct person{ char id[15]; char name[15]; int grade; char sex;}high,low,temp;void init(){ high.grade=-1; low.grade=101;
2017-01-17 16:33:05 209
原创 【PAT】1006. Sign In and Sign Out
#include #include #include using namespace std;int main(){ int n; cin>>n; char e[16],l[16]; int hmin=24,mmin=60,smin=60; int hmax=0,mmax=0,smax=0; while(n--){
2017-01-17 15:23:27 265
原创 【PAT】1011. World Cup Betting
#include#include#include #includeusing namespace std;int main(){ double ans=1.0; char S[3]={'W','T','L'}; char pos[4]; //输入时直接处理 for(int i=0;i<3;i++){ double temp
2017-01-17 11:24:10 255
原创 【PAT】1009. Product of Polynomials
#include#include#include #includeusing namespace std;struct Poly{ int exp; float cof;}poly[1001];float ans[2001];int main(){ int k; cin>>k; for(int i=0;i<k;i++){
2017-01-16 22:24:10 196
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人