diff --git a/Luogu/P1002过河卒.cpp b/Luogu/P1002过河卒.cpp new file mode 100644 index 0000000..966fbd1 --- /dev/null +++ b/Luogu/P1002过河卒.cpp @@ -0,0 +1,63 @@ +#include +using namespace std; +int main(){ + int n,m,max,may; + cin>>n>>m>>may>>max; + long long a[22][22]; + //reset to 0 + for(int i=0;i<22;i++){ + for(int j=0;j<22;j++){ + a[i][j]=0; + } + } + for(int i = 0; i < 22; i++){ + a[0][i]=1; + a[i][0]=1; + } + a[may][max]=-1; + if((may-1)>=0&&(max-2)>=0) a[may-1][max-2]=-1; + if((may-2)>=0&&(max-1)>=0) a[may-2][max-1]=-1; + if((may-2)>=0&&(max+1)<=21) a[may-2][max+1]=-1; + if((may-1)>=0&&(max+2)<=21) a[may-1][max+2]=-1; + if((may+1)<=21&&(max+2)<=21) a[may+1][max+2]=-1; + if((may+2)<=21&&(max+1)<=21) a[may+2][max+1]=-1; + if((may+2)<=21&&(max-1)>=0) a[may+2][max-1]=-1; + if((may+1)<=21&&(max-2)>=0) a[may+1][max-2]=-1; + for(int i=0;i<22;i++){ + if(a[i][0]==-1){ + for(int j=i;j<22;j++){ + a[j][0]=0; + } + break; + } + } + for(int i=0;i<22;i++){ + if(a[0][i]==-1){ + for(int j=i;j<22;j++){ + a[0][j]=0; + } + break; + } + } + for(int i=1;i<22;i++){ + for(int j=1;j<22;j++){ + if(a[i][j]==-1) + continue; + if(a[i][j]!=-1&&a[i-1][j]!=-1&&a[i][j-1]!=-1) + a[i][j]=a[i-1][j]+a[i][j-1]; + if(a[i][j]!=-1&&a[i-1][j]!=-1&&a[i][j-1]==-1) + a[i][j]=a[i-1][j]; + if(a[i][j]!=-1&&a[i-1][j]==-1&&a[i][j-1]!=-1) + a[i][j]=a[i][j-1]; + } + } + cout< +#include +#include +#include +#include +using namespace std; +string flag(int in){ + if(in==15) return "2(2+2(0))+2(2)+2+2(0)"; + else if(in==14) return "2(2+2(0))+2(2)+2"; + else if(in==13) return "2(2+2(0))+2(2)+2(0)"; + else if(in==12) return "2(2+2(0))+2(2)"; + else if(in==11) return "2(2+2(0))+2+2(0)"; + else if(in==10) return "2(2+2(0))+2"; + else if(in==9) return "2(2+2(0))+2(0)"; + else if(in==8) return "2(2+2(0))"; + else if(in==7) return "2(2)+2+2(0)"; + else if(in==6) return "2(2)+2"; + else if(in==5) return "2(2)+2(0)"; + else if(in==4) return "2(2)"; + else if(in==3) return "2+2(0)"; + else if(in==2) return "2"; + else return ""; +} +int main(){ + int n; + cin>>n; + int a[16]={0},b[16]={-1},c[16]={-1},d[16]={-1}; + for(int j=0;j<16;j++){ + a[j]=pow(2,j); + } + int tmp=n; + int i=15,js=0; + while(tmp!=0){ + if(tmp>=a[i]){ + tmp-=a[i]; + b[js]=i; + js++; + } + i--; + } + for(int j=0;j +#include +using namespace std; +int main(){ + char a[21][11]; + char sum[220]=""; + int n; + cin>>n; + + for(int i=0;i>a[i]; + } + int js=1; + char tmp[11]=""; + while(js!=0){ + js=0; + for(int i=0;i +using namespace std; +int main() +{ + double sum; // Use double for sum to handle fractions + int n, k; + cin >> k; + n = 1; + sum = 0.0; + while (sum <= k) + { + sum = sum + 1.0 / n; // Use 1.0 to ensure floating-point division + n++; + } + cout << n - 1 << endl; // n is incremented one extra time in the loop + return 0; +} + diff --git a/Luogu/P1035.cpp b/Luogu/P1035.cpp new file mode 100644 index 0000000..7b23b0a --- /dev/null +++ b/Luogu/P1035.cpp @@ -0,0 +1,17 @@ +#include +using namespace std; +int main() +{ + double sum; // Use double for sum to handle fractions + int n, k; + cin >> k; + n = 1; + sum = 0.0; + while (sum <= k) + { + sum = sum + 1.0 / n; // Use 1.0 to ensure floating-point division + n++; + } + cout << n - 1 << endl; // n is incremented one extra time in the loop + return 0; +} \ No newline at end of file diff --git a/Luogu/P1036随机选数.cpp b/Luogu/P1036随机选数.cpp new file mode 100644 index 0000000..e1411fb --- /dev/null +++ b/Luogu/P1036随机选数.cpp @@ -0,0 +1,25 @@ +#include +using namespace std; + +void matrix(int** arr, int x , int a , int b){ + int pt = new int [x]; + //start + int round = a * b; + for(int xxx = 0 ; xxx < round ; xxx++){ + for(int i = 0; i < x ; i++){ + pt[i] = i; + } + } +} + +int main(){ + int m,n; + cin >> m >> n; + int** p = new int* [m]; + for(int i = 0; i < m ;i++){ + p[i] = new int [n]; + } + + + return 0; +} diff --git a/Luogu/P1046 [NOIP2005 普及组] 陶陶摘苹果.cpp b/Luogu/P1046 [NOIP2005 普及组] 陶陶摘苹果.cpp new file mode 100644 index 0000000..85f51aa --- /dev/null +++ b/Luogu/P1046 [NOIP2005 普及组] 陶陶摘苹果.cpp @@ -0,0 +1,18 @@ +#include +using namespace std; +int main() +{ + int a[11]; + for(int i=0;i<10;i++){ + cin>>a[i]; + } + int index; + int sum=0; + cin>>index; + index+=30; + for(int i=0;i<10;i++){ + if(a[i]<=index) sum++; + } + cout< +using namespace std; +int main(){ + + return 0; +} diff --git a/Luogu/P1047校外的树.cpp b/Luogu/P1047校外的树.cpp new file mode 100644 index 0000000..707155d --- /dev/null +++ b/Luogu/P1047校外的树.cpp @@ -0,0 +1,28 @@ +#include +using namespace std; +int main(){ + int l,m; + int start,end; + cin>>l>>m; + int a[l+1]; + for(int i=0;i<=l;i++){ + a[i]=1; + } + for(int i=0;i>start>>end; + //cout<<"yes"< +#include +using namespace std; + +int main() { + int n; + cin >> n; + int birthdays[n][3]; + string name[n]; + for (int i = 0; i < n; i++) { + cin>>name[i]>>birthdays[i][0]>>birthdays[i][1]>>birthdays[i][2]; + } +bool flag = false; +while (flag == false){ + int js = 0; + for (int i = 0; i < n - 1; i++) { + if(birthdays[i][0]>birthdays[i+1][0]){ + js++; + swap(name[i],name[i+1]); + swap(birthdays[i][0],birthdays[i+1][0]); + swap(birthdays[i][1],birthdays[i+1][1]); + swap(birthdays[i][2],birthdays[i+1][2]); + } + if(birthdays[i][0]==birthdays[i+1][0]&&birthdays[i][1]>birthdays[i+1][1]){ + js++; + swap(name[i],name[i+1]); + swap(birthdays[i][0],birthdays[i+1][0]); + swap(birthdays[i][1],birthdays[i+1][1]); + swap(birthdays[i][2],birthdays[i+1][2]); + } + if(birthdays[i][0]==birthdays[i+1][0]&&birthdays[i][1]==birthdays[i+1][1]&&birthdays[i][2]>birthdays[i+1][2]){ + js++; + swap(name[i],name[i+1]); + swap(birthdays[i][0],birthdays[i+1][0]); + swap(birthdays[i][1],birthdays[i+1][1]); + swap(birthdays[i][2],birthdays[i+1][2]); + } + if(birthdays[i][0]==birthdays[i+1][0]&&birthdays[i][1]==birthdays[i+1][1]&&birthdays[i][2]==birthdays[i+1][2]){ + swap(name[i],name[i+1]); + swap(birthdays[i][0],birthdays[i+1][0]); + swap(birthdays[i][1],birthdays[i+1][1]); + swap(birthdays[i][2],birthdays[i+1][2]); + } + } + if(js == 0) flag = true; +} + for (int i = 0; i < n; i++) { + cout< +#include +using namespace std; +int main() +{ + int n; + cin>>n; + long long m=n+1; + bool flag=false; + int js=0; + while(flag==false) + { + js=0; + for(int i=1;i<=m;i++) + { + if(m%i==0){ + js++; + } + } + if(js==n){ + flag=true; + } + else{ + m++; + } + } + cout< +using namespace std; +int main() { + int n, k; + cin >> n >> k; + int a[n]; + for (int i = 0; i < n; i++) { + cin >> a[i]; + } + bool flag = false; + while (flag == false) + { + int js = 0; + for(int i = 0; i < n-1; i++){ + if(a[i] > a[i+1]){ + swap(a[i],a[i+1]); + js++; + } + } + if (js == 0) + { + flag = true; + } + + } + for (int i = 0; i < n - 1 ; i++) { + if(a[i] == a[i+1]){ + a[i] = -1; + } + } + int js = 0; + int b[n]={0}; + for(int i = 0; i < n; i++){ + if(a[i] != -1){ + b[js] = a[i]; + js++; + } + } + if(k +#include +using namespace std; +int main() +{ + int m; + cin>>m; + bool flag; + if(m%2==0) flag=true; //żҪżӷ + else flag=false; //Ҫ + int a[m]={-1}; + int js=0; + for(int i=1;i<=m;i++) //Ŀȷֽ + { + if(m%i==0){ + a[js]=i; + js++; + } + } + /* ɹ + for(int i=0;i0 && end>0) cout<0 && end>0) cout<0 && end>0) cout< +using namespace std; +int main(){ + int n,k; + cin>>n>>k; + int tmp=n; + int js=n; + while(tmp>k){ + js+=int(tmp/k); + tmp=tmp%k+tmp/k; + } + cout< +#include +#include + +int main(){ + char a[100001]; + char test[11]; + scanf("%s",test); + getchar(); + scanf("%[^\n]",a); + int js=0; + //printf("strlen's test:%d\n",strlen(a)); + for(int i=0;i +#include +void pwd(char ch[52]){ + for(int i=0;i=123) + a[i]+=n-26; + else{ + a[i]+=n; + } + + } + printf("%s",a); + return 0; +} diff --git a/Luogu/P1980 [NOIP 2013 普及组] 计数问题.cpp b/Luogu/P1980 [NOIP 2013 普及组] 计数问题.cpp new file mode 100644 index 0000000..e30ad0d --- /dev/null +++ b/Luogu/P1980 [NOIP 2013 普及组] 计数问题.cpp @@ -0,0 +1,18 @@ +#include +#include +//using namespace std; +int main(){ + int a; + char b; + scanf("%d %c",&a,&b); + char tmp[10]=""; + int js=0; + for(int i=1;i<=a;i++){ + sprintf(tmp,"%d",i); + for(int j=0;j +#include + +int main(){ + char a[10]=""; + scanf("%c%c%c%c%c",&a[0],&a[1],&a[2],&a[3],&a[4]); + for(int i=strlen(a);i>=0;i--){ + printf("%c",a[i]); + } + return 0; +} diff --git a/Luogu/P5706 【深基2.例8】再分肥宅水.cpp b/Luogu/P5706 【深基2.例8】再分肥宅水.cpp new file mode 100644 index 0000000..cb4ed5c --- /dev/null +++ b/Luogu/P5706 【深基2.例8】再分肥宅水.cpp @@ -0,0 +1,11 @@ +#include + +int main(){ + double t; + int n; + scanf("%lf %d",&t,&n); + t/=n; + n*=2; + printf("%.3f\n%d",t,n); + return 0; +} diff --git a/Luogu/P5707.cpp b/Luogu/P5707.cpp new file mode 100644 index 0000000..c377e97 --- /dev/null +++ b/Luogu/P5707.cpp @@ -0,0 +1,26 @@ +#include +#include + +int main(){ + double s,v; + scanf("%lf %lf",&s,&v); + double mind; + mind=s/v+10; + //printf("%.15f\n",mind); + int min; + min=ceil(mind); + int h=0; + h=min/60; + min=min%60; + if(h<=7){ + h=7-h; + min=60-min; + printf("%02d:%2d",h,min); + } + if(h>=8){ + h=31-h; + min=60-min; + printf("%02d:%2d",h,min); + } + return 0; +} diff --git a/Luogu/P5714 【深基3.例7】肥胖问题 题解.cpp b/Luogu/P5714 【深基3.例7】肥胖问题 题解.cpp new file mode 100644 index 0000000..b30c508 --- /dev/null +++ b/Luogu/P5714 【深基3.例7】肥胖问题 题解.cpp @@ -0,0 +1,15 @@ +# include + +double m, h, bmi; + +int main () { + scanf("%lf %lf",&m,&h); + bmi = m / (h * h); + if (bmi < 18.5) + printf("Underweight"); + if (bmi >= 18.5 && bmi < 24) + printf("Normal"); + if (bmi >= 24) + printf("%.6g\nOverweight\n",bmi); + return 0; +} diff --git a/Luogu/P5730 【深基5.例10】显示屏.cpp b/Luogu/P5730 【深基5.例10】显示屏.cpp new file mode 100644 index 0000000..776b85a --- /dev/null +++ b/Luogu/P5730 【深基5.例10】显示屏.cpp @@ -0,0 +1,126 @@ +#include +#include +char a[1000],b[1000],c[1000],d[1000],e[1000]; +void set(){ + for(int i=0;i<1000;i++){ + a[i]='.'; + b[i]='.'; + c[i]='.'; + d[i]='.'; + e[i]='.'; + } +} +void print_num(int pos,char num){ + if(num=='0'){ + a[pos]='X';a[pos+1]='X';a[pos+2]='X'; + b[pos]='X';b[pos+1]='.';b[pos+2]='X'; + c[pos]='X';c[pos+1]='.';c[pos+2]='X'; + d[pos]='X';d[pos+1]='.';d[pos+2]='X'; + e[pos]='X';e[pos+1]='X';e[pos+2]='X'; + } + if(num=='1'){ + a[pos]='.';a[pos+1]='.';a[pos+2]='X'; + b[pos]='.';b[pos+1]='.';b[pos+2]='X'; + c[pos]='.';c[pos+1]='.';c[pos+2]='X'; + d[pos]='.';d[pos+1]='.';d[pos+2]='X'; + e[pos]='.';e[pos+1]='.';e[pos+2]='X'; + } + if(num=='2'){ + a[pos]='X';a[pos+1]='X';a[pos+2]='X'; + b[pos]='.';b[pos+1]='.';b[pos+2]='X'; + c[pos]='X';c[pos+1]='X';c[pos+2]='X'; + d[pos]='X';d[pos+1]='.';d[pos+2]='.'; + e[pos]='X';e[pos+1]='X';e[pos+2]='X'; + } + if(num=='3'){ + a[pos]='X';a[pos+1]='X';a[pos+2]='X'; + b[pos]='.';b[pos+1]='.';b[pos+2]='X'; + c[pos]='X';c[pos+1]='X';c[pos+2]='X'; + d[pos]='.';d[pos+1]='.';d[pos+2]='X'; + e[pos]='X';e[pos+1]='X';e[pos+2]='X'; + } + if(num=='4'){ + a[pos]='X';a[pos+1]='.';a[pos+2]='X'; + b[pos]='X';b[pos+1]='.';b[pos+2]='X'; + c[pos]='X';c[pos+1]='X';c[pos+2]='X'; + d[pos]='.';d[pos+1]='.';d[pos+2]='X'; + e[pos]='.';e[pos+1]='.';e[pos+2]='X'; + } + if(num=='5'){ + a[pos]='X';a[pos+1]='X';a[pos+2]='X'; + b[pos]='X';b[pos+1]='.';b[pos+2]='.'; + c[pos]='X';c[pos+1]='X';c[pos+2]='X'; + d[pos]='.';d[pos+1]='.';d[pos+2]='X'; + e[pos]='X';e[pos+1]='X';e[pos+2]='X'; + } + if(num=='6'){ + a[pos]='X';a[pos+1]='X';a[pos+2]='X'; + b[pos]='X';b[pos+1]='.';b[pos+2]='.'; + c[pos]='X';c[pos+1]='X';c[pos+2]='X'; + d[pos]='X';d[pos+1]='.';d[pos+2]='X'; + e[pos]='X';e[pos+1]='X';e[pos+2]='X'; + } + if(num=='7'){ + a[pos]='X';a[pos+1]='X';a[pos+2]='X'; + b[pos]='.';b[pos+1]='.';b[pos+2]='X'; + c[pos]='.';c[pos+1]='.';c[pos+2]='X'; + d[pos]='.';d[pos+1]='.';d[pos+2]='X'; + e[pos]='.';e[pos+1]='.';e[pos+2]='X'; + } + if(num=='8'){ + a[pos]='X';a[pos+1]='X';a[pos+2]='X'; + b[pos]='X';b[pos+1]='.';b[pos+2]='X'; + c[pos]='X';c[pos+1]='X';c[pos+2]='X'; + d[pos]='X';d[pos+1]='.';d[pos+2]='X'; + e[pos]='X';e[pos+1]='X';e[pos+2]='X'; + } + if(num=='9'){ + a[pos]='X';a[pos+1]='X';a[pos+2]='X'; + b[pos]='X';b[pos+1]='.';b[pos+2]='X'; + c[pos]='X';c[pos+1]='X';c[pos+2]='X'; + d[pos]='.';d[pos+1]='.';d[pos+2]='X'; + e[pos]='X';e[pos+1]='X';e[pos+2]='X'; + } +} +void print_space(int pos){ + a[pos]='.';b[pos]='.';c[pos]='.';d[pos]='.';e[pos]='.'; +} +int main(){ + set(); + int n; + scanf("%d",&n); + char k[n]; + scanf("%s",&k); + int tmp=n*3+n-1; + int js=0; + for(int i=0;i