自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HOH_mizukun的博客

每天A几个

  • 博客(90)
  • 资源 (1)
  • 收藏
  • 关注

原创 操作系统:Pintos Project 1

也是借鉴了网上一些实现,勉勉强强将Project1过了,不过感觉代码中还是有些问题的。alarm测试集这个测试集要求重新实现timer_sleep()函数,将原来的忙等待改为非忙等待。 思路跟阻塞线程类似:1.为线程增加一个新的状态,表示线程正处在sleep中。 thread.h:在文件靠前添加宏定义:#define THREAD_SLEEP THREAD_BLOCKED2.在内核中增加一

2018-01-18 16:06:25 8354 14

原创 算法:连续邮资问题(回溯+动态规划+剪枝)

北京工业大学的算法设计与分析课要做个大作业,就选了这个题目。上网找了一些资料,感觉效率有些慢,所以自己又稍微改进了一下。写了好几个版本,不同的实现方法,下面的这个是目前效率最高的。关于两个方向的动态规划的最优子结构性质的证明,如果有疑问的可以邮箱联系[email protected]。问题描述假设国家发行了n种不同面值的邮票,并且规定每张信封上最多只允许m张邮票。连续邮资问题要求对...

2017-12-22 14:03:30 4871 1

原创 PAT(Basic Level)_1051_复数乘法

#include<stdio.h>#include<math.h>int main(){ double R1,P1,R2,P2,R,P,A,B; scanf("%lf%lf%lf%lf",&R1,&P1,&R2,&P2); R=R1*R2; P=P1+P2; A=R*cos(P); B=R*sin(P); if(A<0) A=((int)(

2017-07-27 13:31:33 489

原创 PAT(Basic Level)_1050_螺旋矩阵

#include<cstdio>#include<cmath>#include<algorithm>#include<functional>using namespace std;int main(){ int N,m,n,nums[10000]; scanf("%d",&N); for(int i=0;i<N;i++){ scanf("%d",num

2017-07-27 13:30:27 310

原创 PAT(Basic Level)_1049_数列的片段和

#include<stdio.h>int main(){ int N; scanf("%d",&N); double sum=0,tmp; for(int i=0;i<N;i++){ scanf("%lf",&tmp); sum+=tmp*(i+1)*(N-i); } printf("%.2lf",sum); ret

2017-07-27 13:29:02 291

原创 PAT(Basic Level)_1048_数字加密

#include<stdio.h>#include<string.h>int main(){ char astr[101],bstr[101],str[101]; scanf("%s %s",astr,bstr); int alen=strlen(astr),blen=strlen(bstr); int i=0,j=0,k=0,odd,tmp; for(;i<b

2017-07-27 13:27:29 294

原创 PAT(Basic Level)_1047_编程团体赛

#include<stdio.h>int main(){ int n,team,memb,score,list[1001]={}; scanf("%d",&n); while(n--){ scanf("%d-%d %d",&team,&memb,&score); list[team]+=score; } team=0;

2017-07-27 13:25:08 233

原创 PAT(Basic Level)_1046_划拳

#include<iostream>using namespace std;int main(){ int n,win=0,lost=0,a,b,c,d; cin>>n; while(n--){ cin>>a>>b>>c>>d; if(b==d) continue; if(b==a+c) win++; if(d=

2017-07-27 13:23:56 247

原创 PAT(Basic Level)_1045_快速排序

#include<stdio.h>#include<limits.h>#include<stdlib.h>int cmp(const void *a,const void *b){ return *((int*)a)-*((int*)b);}int main(){ int nums[100000],n; scanf("%d",&n); for(int i=0;i

2017-07-26 18:05:37 261

原创 PAT(Basic Level)_1044_火星数字

#include<stdio.h>#include<string.h>int main(){ int n,tmp,t1,t2; char str[10],s1[5],s2[5]; char mars1[][5]={"tret","tam","hel","maa","huh","tou","kes","hei","elo","syy","lok","mer","jou"};

2017-07-26 18:02:56 256

原创 PAT(Basic Level)_1043_输出PATest

#include<stdio.h>#include<string.h>int main(){ char str[10001]; gets(str); char arr[]="PATest"; int cnt[6]={}; int len=strlen(str),i; for(i=0;i<len;i++){ switch(str[i]){

2017-07-26 18:01:42 253

原创 PAT(Basic Level)_1042_字符统计

#include<iostream>#include<cstring>#include<cstdio>using namespace std;int main(){ int cnt[26]={}; char str[1001]; cin.getline(str,1001); int len=strlen(str); for(int i=0;i<len;i+

2017-07-26 18:00:19 288

原创 PAT(Basic Level)_1041_考试座位号

#include<stdio.h>#include<string.h>struct Stu{ char id[15]; int b;}list[1001];int main(){ int n,m,a,b; char str[15]; scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%s %d

2017-07-26 17:58:55 342

原创 PAT(Basic Level)_1040_有几个PAT

#include<stdio.h>#include<string.h>int main(){ char str[100001]; gets(str); int cntP=0,cntPA=0,cntPAT=0; int len=strlen(str); for(int i=0;i<len;i++){ if(str[i]=='P') cntP++;

2017-07-26 17:57:46 262

原创 PAT(Basic Level)_1039_到底买不买

#include<stdio.h>#include<string.h>int main(){ char str[1001]; int cnt[300]={},len; gets(str); len=strlen(str); for(int i=0;i<len;i++){ cnt[str[i]]++; } gets(str);

2017-07-26 17:56:34 246

原创 PAT(Basic Level)_1038_统计同成绩学生

#include<stdio.h>int main(){ int cnt[101]={},n,tmp; scanf("%d",&n); while(n--){ scanf("%d",&tmp); cnt[tmp]++; } scanf("%d",&n); while(n--){ scanf("%d",&t

2017-07-26 17:55:20 271

原创 PAT(Basic Level)_1037_在霍格沃茨找零钱

#include<stdio.h>int main(){ long pg,ps,pk,ag,as,ak,dk; scanf("%ld.%ld.%ld %ld.%ld.%ld",&pg,&ps,&pk,&ag,&as,&ak); pk=(pg*17+ps)*29+pk; ak=(ag*17+as)*29+ak; dk=ak-pk; if(dk<0){

2017-07-26 17:52:06 269

原创 PAT(Basic Level)_1036_跟奥巴马一起编程

#include<iostream>using namespace std;int main(){ int n; char ch; cin>>n>>ch; for(int i=0;i<n;i++){ cout<<ch; } cout<<endl; for(int i=(n+1)/2-2;i>0;i--){ cout

2017-07-26 17:50:35 318

原创 PAT(Basic Level)_1035_插入与归并

#include<iostream>#include<algorithm>using namespace std;bool ifequal(int a[],int b[],int n){ for(int i=0;i<n;i++){ if(a[i]!=b[i]){ return false; } } return tru

2017-07-25 10:37:06 328

原创 PAT(Basic Level)_1034_有理数四则运算

#include<stdio.h>long abs(long a){ return (a>=0)?a:-a;}long gcd(long x,long y){ long t; while(y){ t=x%y; x=y; y=t; } return x;}void print_num(long a,long b

2017-07-25 10:30:28 354

原创 PAT(Basic Level)_1033_旧键盘打字

#include<stdio.h>#include<string.h>int main(){ char str[100001]; int key[300]={},len; gets(str); len=strlen(str); for(int i=0;i<len;i++){ key[str[i]]=1; if(str[i]>='

2017-07-25 10:27:39 271

原创 PAT(Basic Level)_1032_挖掘机技术哪家强

#include<stdio.h>int main(){ int sum[100001]={}; int N,team,score; scanf("%d",&N); while(N--){ scanf("%d%d",&team,&score); sum[team]+=score; } score=-1; for(i

2017-07-25 10:26:05 284

原创 PAT(Basic Level)_1031_查验身份证

#include<stdio.h>int main(){ int N; scanf("%d\n",&N); char str[20],ch; int sum,right,cnt=0; int Q[]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2}; int M[]={'1','0','X','9','8','7','6','

2017-07-25 10:24:39 243

原创 PAT(Basic Level)_1030_完美数列

#include<cstdio>#include<algorithm>using namespace std;int main(){ int i,j; int N; scanf("%d",&N); double p; scanf("%lf",&p); int nums[100000]; for(i=0;i<N;i++){ scanf

2017-07-25 10:23:01 227

原创 PAT(Basic Level)_1029_旧键盘

#include<stdio.h>int main(){ char str1[100],str2[100]; scanf("%s%s",str1,str2); char *p1=str1,*p2=str2; int flag[100]={}; while(true){ if(*p1==*p2){ if(*p1) p1++,

2017-07-25 10:18:57 268

原创 PAT(Basic Level)_1028_人口普查

#include<stdio.h>#include<string.h>struct Tip{ char name[10]; int year; int month; int day;};int cmp(const Tip &A,const Tip &B){ if(A.year!=B.year) return A.year-B.year; if(A.

2017-07-25 10:17:56 369

原创 PAT(Basic Level)_1027_打印沙漏

#include<stdio.h>int main(){ int N; char ch; scanf("%d %c",&N,&ch); int k=1; while(2*k*k-1<=N) k++; k--; for(int i=k;i>0;i--){ for(int j=k-i;j>0;j--){ putc

2017-07-25 10:15:45 226

原创 PAT(Basic Level)_1026_程序运行时间

#include<stdio.h>int main(){ int a,b,h,m,s; scanf("%d%d",&a,&b); b=(b-a+50)/100; h=b/3600; m=b/60%60; s=b%60; printf("%02d:%02d:%02d",h,m,s); return 0;}

2017-07-25 10:14:00 309 1

原创 PAT(Basic Level)_1025_反转链表

#include<stdio.h>int main(){ int data[100000]; int next[100000]; int fore[100000]; int P,N,K; scanf("%d%d%d",&P,&N,&K); int addr; for(int i=0;i<N;i++){ scanf("%d",&add

2017-07-24 03:36:20 494

原创 PAT(Basic Level)_1024_科学计数法

#include<stdio.h>#include<string.h>int main(){ char str[20000],*p1,*p2; gets(str); if(str[0]=='-') putchar('-'); p1=p2=str+1; while(*(++p2)!='E'); *(p2++)=0; int coe; ssc

2017-07-24 03:34:15 363

原创 PAT(Basic Level)_1023_组个最小数

#include<stdio.h>int main(){ int num[10]={}; for(int i=0;i<10;i++){ scanf("%d",num+i); } for(int i=1;i<10;i++){ if(num[i]){ putchar(i+'0'); num[i

2017-07-24 03:32:22 242

原创 PAT(Basic Level)_1022_D进制的A+B

#include<stdio.h>int main(){ int A,B,D; scanf("%d%d%d",&A,&B,&D); int sum=A+B,stk[32],cnt=0; while(sum){ stk[cnt++]=sum%D; sum/=D; } if(cnt){ while(cnt--

2017-07-24 03:30:49 254

原创 PAT(Basic Level)_1021_个位数统计

#include<stdio.h>#include<string.h>int main(){ char str[1001]; gets(str); int cnt[10]={},len=strlen(str); for(int i=0;i<len;i++){ cnt[str[i]-'0']++; } for(int i=0;i<10;i

2017-07-24 03:29:00 282

原创 PAT(Basic Level)_1020_月饼

#include<iostream>#include<cstdio>#include<algorithm>using namespace std;struct Cake{ double amount; double total; double price;}list[1000];int cmp(Cake &A,Cake &B){ return A.price>B

2017-07-24 03:27:14 273

原创 PAT(Basic Level)_1019_数字黑洞

#include<iostream>#include<algorithm>using namespace std;int main(){ int N; cin>>N; int n[4],A,B; while(true){ n[0]=N/1000; n[1]=N/100%10; n[2]=N/10%10;

2017-07-24 03:26:06 210

原创 PAT(Basic Level)_1018_锤子剪刀布

#include<iostream>using namespace std;int main(){ int N; char A,B; int tie=0; int AC=0,AJ=0,AB=0; int BC=0,BJ=0,BB=0; cin>>N; while(N--){ cin>>A>>B; if(A==B){

2017-07-24 03:24:24 254

原创 PAT(Basic Level)_1017_A除以B

#include<stdio.h>#include<string.h>int main(){ char A[1001],Q[1001],*q=Q; int B,R=0; scanf("%s %d",A,&B); int len=strlen(A); for(int i=0;i<len;i++){ R=R*10+A[i]-'0';

2017-07-24 03:22:54 300

原创 PAT(Basic Level)_1016_部分A+B

#include<stdio.h>#include<string.h>//using namespace std;int main(){ char A[11],B[11],DA,DB; scanf("%s %c %s %c",A,&DA,B,&DB); int da=DA-'0',db=DB-'0',a=0,b=0; for(int i=0;i<strlen(A);i

2017-07-24 03:21:15 279

原创 PAT(Basic Level)_1015_德才论

#include<cstdio>#include<cstdlib>#include<algorithm>using namespace std;struct Stu{ int id; int eq; int iq; int sum; int type;};int cmp(const Stu &a,const Stu &b){ if(a.type!

2017-07-23 09:02:52 314

原创 PAT(Basic Level)_1014_福尔摩斯的约会

#include<stdio.h>#include<string.h>int main(){ char str1[61],str2[61],str3[61],str4[61]; char week[7][5]={"MON","TUE","WED","THU","FRI","SAT","SUN"}; scanf("%s%s%s%s",str1,str2,str3,str4);

2017-07-23 09:01:27 302

8086汇编:输入输出和数组操作的一些函数

8086汇编:输入输出和数组操作的一些函数

2017-06-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除