- C++
333333
- 2023-12-30 19:11:21 @
代码
45 条评论
-
13355623558 LV 8 @ 2024-3-20 12:16:54
硬币面值组合
#include<bits/stdc++.h> using namespace std; int main(){ int n,s=0; scanf("%d",&n); for(int k=0;k<=n/5;k++){ for(int j=0;j<=n/2;j++){ for(int i=n;i>=0;i--){ if(i+j*2+k*5==n){ printf("%03d%12d%12d%12d\n",++s,i,j,k); } } } } return 0; }
-
2024-3-20 12:10:49@
生理周期
#include<iostream> using namespace std; int main() { int p, e, i, d; cin >> p >> e >> i >> d; for (int j = d + 1; j <= 21252 + d; j++) { if ((j % 23 == p % 23) && (j % 28 == e % 28) && (j % 33 == i % 33)) { cout << j - d; return 0; } } return 0; }
-
2024-3-16 16:45:16@
井和绳子
#include <iostream> using namespace std; int main() { int k, n1, n2, n3, n4, n5; cin >> k >> n1 >> n2 >> n3 >> n4 >> n5; int B, C, D, E; for (int i = 1; i <= k * 100; i++) { for (int A = 0; A <= i; A++) { B = i - A * n1; C = i - B * n2; D = i - C * n3; E = i - D * n4; if (!(A == B || A == C || A == D || A == E || B == C || B == D || C == D || C == E || D == E || B == E)) { if (E * n5 + A == i) { cout << i << " " << A << " " << B << " " << C << " " << D << " " << E << endl; return 0; } } } } cout << "not found"; return 0; }
-
2024-3-10 19:27:15@
分形盒
#include<bits/stdc++.h> using namespace std; #define MAX 730 char maps[MAX][MAX]; void printBox(int n,int x,int y){ if(n==1){ maps[x][y]='X'; } else{ int m=pow(3,n-2); printBox(n-1,x,y); printBox(n-1,x+2*m,y); printBox(n-1,x,y+2*m); printBox(n-1,x+m,y+m); printBox(n-1,x+2*m,y+2*m); } } int main(){ int n; cin>>n; while(n!=-1){ int size=pow(3,n-1); for(int i=0;i<size;i++){ for(int j=0;j<size;j++){ maps[i][j]=' '; maps[i][size]='\0'; } } printBox(n,0,0); for(int i=0;i<size;i++){ printf("%s\n",maps[i]); } cout<<"-"<<endl; cin>>n; } return 0; }
-
2024-3-10 18:08:08@
拨钟问题
#include<bits/stdc++.h> using namespace std; string mv[10] = {"", "ABDE", "ABC", "BCEF", "ADG", "BDEFH", "CFI", "DEGH", "GHI", "EFHI"}; int o[9], t[9]; int m[10], a[10]; void move() { for (int i = 1; i <= 9; ++i) { string s = mv[i]; for (int j = 1; j <= m[i]; ++j) for (int k = 0; k < s.length(); ++k) t[s[k] - 'A'] = (t[s[k] - 'A'] + 1) % 4; } } bool isAllZero() { for (int i = 0; i < 9; ++i) if (t[i] != 0) return false; return true; } int ss() { int sum = 0; for (int i = 1; i <= 9; ++i) { sum += m[i]; } return sum; } int main() { int mn = 50; for (int i = 0; i < 9; ++i) cin >> o[i]; for (m[1] = 0; m[1] < 4; ++m[1]) for (m[2] = 0; m[2] < 4; ++m[2]) for (m[3] = 0; m[3] < 4; ++m[3]) for (m[4] = 0; m[4] < 4; ++m[4]) for (m[5] = 0; m[5] < 4; ++m[5]) for (m[6] = 0; m[6] < 4; ++m[6]) for (m[7] = 0; m[7] < 4; ++m[7]) for (m[8] = 0; m[8] < 4; ++m[8]) for (m[9] = 0; m[9] < 4; ++m[9]) { memcpy(t, o, sizeof(o)); move(); if (isAllZero()) { int mt = ss(); if (mt < mn) { mn = mt; memcpy(a, m, sizeof(m)); } } } for (int i = 1; i <= 9; ++i) { while (a[i] > 0) { cout << i << ' '; a[i]--; } } return 0; }
-
2024-2-18 19:52:22@
子串计算
#include<bits/stdc++.h> using namespace std; int main(){ map<string,int> m; string s=""; cin>>s; int len=s.size(); for(int i=0;i<len;i++){ for(int j=1;j<=len-i;j++){ m[s.substr(i,j)]++; } } for(map<string,int>::iterator it=m.begin();it!=m.end();it++){ if(it->second>1){ cout<<(*it).first<<" "<<it->second<<endl; } } return 0; }
-
2024-2-18 18:47:26@
P252 编辑距离P200 合唱队形 广义格雷码 课程冲突 拦截导弹 子串计算
-
2024-1-27 17:26:52@
余数相同
using namespace std; int main() { int a,b,c; cin>>a>>b>>c; int x=2; for(int i=1;i<=1000000;i++){ if(a%x==b%x&&b%x==c%x){ cout<<x; return 0; } else{ x++; } } return 0; }
-
2024-1-27 12:15:52@
因子问题
using namespace std; int main(){ int m,n,a; cin>>n>>m; for(int i=1;i<=n;i++){ if(n%i==0&&n%(m-i)==0){ a=i; cout<<a; return 0; } } cout<<"-1"; return 0; }
-
2024-1-27 11:18:21@
斐波那契数列
using namespace std; long long a[1000000]; int main() { long long n; int m; cin>>m; int b[1000]; for(int i=1;i<=m;i++){ cin>>b[i]; } a[1] = 1; a[2] = 1; for(int i=1;i<=m;i++) { for (long j = 3; j <= b[i]; j++) { a[j] = a[j - 1] + a[j - 2]; } cout << a[b[i]] % 10000 << endl; } return 0; }
-
2024-1-14 17:00:31@
表达式求值
using namespace std; char cc(char x,char y,char oper){ bool a=(x=='V'),b=(y=='V'),ans; if(oper=='|')ans=(a||b); else if(oper=='&')ans=(a&&b); return ans?'V':'F'; } char rr(char x){ if(x=='V')return 'F'; return 'V'; } int main() { string in; int len,i,j; while(getline(cin,in)){ stack<char>Oper,num; queue<char>s; len=in.length(); i=len; in=" "+in; while(i>0){ if(in[i]==' '){ i--; continue; } else if(isalpha(in[i]))s.push(in[i--]); else if(in[i]=='!')s.push(in[i--]); else{ if(in[i]=='&'||in[i]=='|'||in[i]==')'){ Oper.push(in[i--]);// } else if(in[i]=='('){ while(Oper.top()!=')'){ s.push(Oper.top()); Oper.pop(); } Oper.pop(); i--; } } } while(!Oper.empty()){ s.push(Oper.top()),Oper.pop(); } while(!s.empty()){ char ch=s.front();s.pop(); if(isalpha(ch))num.push(ch); else{ Oper.push(ch); } if(!num.empty()&&!Oper.empty()&&Oper.top()=='!'){ char x=num.top(); num.pop(); Oper.pop(); num.push(rr(x)); } else if(num.size()>=2&&!Oper.empty()){ char oper=Oper.top(),x,y; Oper.pop(); x=num.top();num.pop(); y=num.top();num.pop(); num.push(cc(x,y,oper)); } } cout<<num.top()<<endl; } return 0; }
-
2024-1-13 16:53:58@
数列
using namespace std; int main() { long long a[60]; long long n; int m; cin>>m; int b[1000]; for(int i=1;i<=m;i++){ cin>>b[i]; } a[1] = 1; a[2] = 1; for(int i=1;i<=m;i++) { for (long j = 3; j <= b[i]; j++) { a[j] = a[j - 1] + a[j - 2]; } cout << a[b[i]] % 1000 << endl; } return 0; }
-
2024-1-13 16:29:14@
数对
using namespace std; int main() { int t, cnt, ans, a[30]; cnt = 0; ans = 0; int x; while (cin >> x) { if (x == 0) { break; } cnt++; a[cnt] = x; } for (int i = 1; i <= cnt - 1; i++) { for (int j = i + 1; j <= cnt; j++) { if (a[i] == 2 * a[j] || a[j] == 2 * a[i]) ans++; } } cout << ans; return 0; }
-
2024-1-13 16:14:53@
分解因数
using namespace std; int a; void js(int b,int aa){ if(aa==1){ a++; return; } else{ for(int i=b;i<=aa;i++){ if(aa%i==0){ js(i,aa/i); } } } } int main() { int n; cin>>n; while(n--){ a=0; int aa; cin>>aa; js(2,aa); cout<<a<<endl; } return 0; }
-
2024-1-13 15:56:40@
不定方程求解
using namespace std; int main() { int a,b,c,num=0; cin>>a>>b>>c; int aa=c/a; int bb=c/b; for(int i=0;i<=aa;i++){ for(int j=0;j<=bb;j++){ if(a*i+b*j==c){ num++; } } } cout<<num; return 0; }
-
2024-1-13 15:54:27@
完美立方
using namespace std; int main(){ int N; int a,b,c,d; scanf("%d",&N); for(a=2;a<=N;a++){ for(b=2;b<=N-1;b++){ for(c=b;c<=N-1;c++){ for(d=c;d<=N-1;d++){ if((b<=c&&c<=d&&d<=a)&&(a*a*a==b*b*b+c*c*c+d*d*d)){ cout<<"Cube = "<<a<<", Triple = ("<<b<<","<<c<<","<<d<<")"<<endl; } } } } } return 0; }
-
2024-1-7 18:57:36@
找和为k的两个元素
#include <iostream> using namespace std; int main() { int n,k,a[1000],sign=0; cin>>n>>k; for(int i=1;i<=n;i++){ cin>>a[i]; } for(int i=1;i<=n-1;i++){ for(int j=i+1;j<n;j++){ if(k==a[i]+a[j]){ sign=1; break; } } if(1==sign){ break; } } if(sign>0){ cout<<"yes"; } else{ cout<<"no"; } return 0; }
-
2024-1-7 18:46:03@
流感传染
#include<bits/stdc++.h> using namespace std; char a[101][101], aa[101][101]; int n, m, cnt = 0; int net[4][4] = {{0, 1}, {1, 0}, {-1, 0}, {0, -1}}; void gr(int x, int y) { int dx, dy; for (int i = 0; i < 4; i++) { dx = x + net[i][0]; dy = y + net[i][1]; if (dx > 0 && dx <= n && dy > 0 && dy <= n && a[dx][dy] == '.') { aa[dx][dy] = '@'; } } } int main() { cin >> n; for (int i = 1; i <= n; i++){ for (int j = 1; j <= n; j++) { cin >> a[i][j]; aa[i][j] = a[i][j]; } } cin >> m; for (int k = 2; k <= m; k++) { for (int i = 1; i <= n; i++){ for (int j = 1; j <= n; j++) { if (a[i][j] == '@')gr(i, j); } } for (int i = 1; i <= n; i++){ for (int j = 1; j <= n; j++) a[i][j] = aa[i][j]; } } for (int i = 1; i <= n; i++){ for (int j = 1; j <= n; j++) if (a[i][j] == '@')cnt++; } cout << cnt << endl; return 0; }
-
2024-1-7 18:44:04@
苹果消消乐
#include<bits/stdc++.h> using namespace std; int t,n,m; int a[200]; int main(){ cin>>t; a[0]=0; int maxx=0; while(t--){ cin>>n>>m; a[n+1]=101; maxx=0; for(int i=1;i<=n;i++){ cin>>a[i]; } if(n<=m){ cout<<100<<endl; } else{ for(int i=1;i<=n-m+1;++i){ maxx=max(maxx,a[i+m]-a[i-1]-1); } cout<<maxx<<endl; } } return 0; }
-
2024-1-7 18:42:21@
踩方格
#include<bits/stdc++.h> using namespace std; int walk(int n,int as){ if(n>0){ switch (as) { case 1: return walk(n-1,1)+walk(n-1,2); break; case 2: return walk(n-1,1)+walk(n-1,2)+walk(n-1,3); break; case 3: return walk(n-1,2)+walk(n-1,3); break; } } else{ return 1; } } int main(){ int n; cin>>n; int sum=walk(n-1,1)+walk(n-1,2)+walk(n-1,3); cout<<sum; return 0; }
-
2024-1-7 18:39:13@
Minecraft
using namespace std; int main(){ std::ios::sync_with_stdio(false); int n,minn=1<<30; cin>>n; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ int k=n/i/j; if((double)k==(double)n/i/j) if(2*(i*j+i*k+k*j)<minn) minn=2*(i*j+i*k+k*j); } } cout<<minn; return 0; }
-
2024-1-7 18:36:30@
上台阶
#include<bits/stdc++.s> using namespace std; string a[200]; string jia(string s1, string s2) { int a[100], b[100], c[100]; memset(a, 0, sizeof(a)); memset(b, 0, sizeof(b)); memset(c, 0, sizeof(c)); if (s1.size() < s2.size()) { swap(s1, s2); } a[0] = s1.size(); b[0] = s2.size(); c[0] = b[0]; for (int i = 1; i <= a[0]; ++i) { a[i] = s1[a[0] - i] - '0'; } for (int i = 1; i <= b[0]; ++i) { b[i] = s2[b[0] - i] - '0'; } for (int i = 1; i <= a[0]; ++i) { c[i + 1] = (c[i] + a[i] + b[i]) / 10; c[i] = (c[i] + a[i] + b[i]) % 10; } if (c[c[0] + 1]) { c[0]++; } string s3; for (int i = c[0]; i > 0; --i) { s3 += c[i] + '0'; } return s3; } int main() { int n; a[0] = "0"; a[1] = "1"; a[2] = "2"; a[3] = "4"; for (int i = 4; i <= 100; i++) { a[i] = jia(a[i-1],jia(a[i-2],a[i-3])); } while (cin >> n) { if (n == 0) { return 0; } cout << a[n] << endl; } return 0; }
-
2024-1-7 18:27:26@
猴子吃桃
#include <bits/stdc++.h> using namespace std; int ans[100000000]; int main(){ int n; cin>>n; ans[1]=3; for(int i=2;i<=n;i++){ ans[i]=ans[i-1]*n+1; } cout<<ans[n]; return 0; }
-
2024-1-7 18:25:39@
鸡兔同笼
#include <iostream> using namespace std; int main(){ int a; cin>>a; if(a%2!=0){ cout<<"0 0"; return 0; } if(a%4==0){ cout<<a/4<<" "<<a/2; } else{ cout<<a/4+1<<" "<<a/2; } return 0; }
-
2024-1-7 18:21:33@
质数的和与积
#include<bits/stdc++.h> using namespace std; int p[(int)2e4]; int main(){ p[1] = 1; p[2] = 0; int temp = sqrt((int)1e4); for(int i=2;i<=temp;i++){ if(p[i]==0){ for(int j=i*2;j<=(int)1e4;j+=i){ p[j] = 1; } } } int s; cin>>s; int Max = 0; for(int i=1;i<=(int)1e4;i++){ if(p[i] == 0){ int t = s - i; if(t>=1&&p[t]==0){ if(t*i>=Max){ Max = t*i; } } } } cout<<Max; return 0; }
-
2024-1-7 18:19:32@
和数
#include<bits/stdc++.s> using namespace std; int a[200]; int main(){ int n; int s=0; cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; } for(int i=1;i<=n;i++){ bool f=0; for(int j=1;j<=n;j++){ for(int t=j+1;t<=n;t++){ if(a[i]==a[j]+a[t]){ f=1; } } } if(f==1){ s++; } } cout<<s; return 0; }
-
2024-1-7 18:13:03@
和数
#include<bits/stdc++.h> using namespace std; int a[200]; int main(){ int n; int s=0; cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; } for(int i=1;i<=n;i++){ bool f=0; for(int j=1;j<=n;j++){ for(int t=j+1;t<=n;t++){ if(a[i]==a[j]+a[t]){ f=1; } } } if(f==1){ s++; } } cout<<s; return 0; }
-
2024-1-6 20:40:02@
-
2024-1-6 20:38:46@
-
2024-1-6 20:10:12@
-
2024-1-6 20:08:27@
田忌赛马
#include <bits/stdc++.h> using namespace std; int b[100]; int N,X; int t=0; bool check(int arr[]){ int sum=0; for(int i=1;i<=N;i++){ if(arr[i]-b[i]>=X){ sum+=1; } } if(sum>=t){ return true; } else{ return false; } } int main(){ cin>>N>>X; for(int i=1;i<=N;i++){ cin>>b[i]; } int a[100]; for(int i=1;i<=N;i++){ a[i]=i; } t=ceil(N/2.0); do{ if(check(a)){ for(int i=1;i<=3;i++){ cout<<a[i]<<" "; } cout<<endl; } }while(next_permutation(a+1,a+N+1)); return 0; }
-
2024-1-6 20:04:05@
#include<iostream> #include<iomanip> #include<algorithm> #include<cmath> using namespace std; int b[100]; int N, X; int t; bool check(int arr[]) { int sum = 0; for (int i = 1; i <= N; i++) { if (arr[i] - b[i] >= X) { //TODO sum += 1; } } if (sum >= t) { //TODO return true; } else { return false; } } int main() { /* next_permutation() */ cin >> N >> X; for (int i = 1; i <= N; i++) { //TODO cin >> b[i]; } int a[100]; for (int i = 1; i <= N; i++) { a[i] = i; } t = ceil(N / 2.0); do { //输入判断条件,这里用cout输出 if (check(a)) { for (int i = 1; i <= 3; i++) { cout << a[i]<<" "; } cout << endl; } } while (next_permutation(a + 1, a + N + 1)); return 0; }
-
2024-1-6 19:31:26@
-
2024-1-6 19:28:23@
上台阶
#include <bits/stdc++.h> using namespace std; long long a[200]; int main(){ int n; //cin>>n; a[0]=0; a[1]=1; a[2]=2; a[3]=4; for(int i=4;i<=100;i++){ a[i]=a[i-1]+a[i-2]+a[i-3]; } //cout<<a[n]; while(cin>>n){ if(n==0){ return 0; } cout<<a[n]<<endl; } return 0; }
-
2024-1-6 19:26:10@
上台阶
#include <bits/stdc++.h> using namespace std; long long a[200]; int main(){ int n; //cin>>n; a[0]=0; a[1]=1; a[2]=2; a[3]=4; for(int i=4;i<=n;i++){ a[i]=a[i-1]+a[i-2]+a[i-3]; } //cout<<a[n]; while(cin>>n){ if(n==0){ return 0; } cout<<a[n]<<endl; } return 0; }
-
2024-1-6 17:04:27@
爬楼
#include<bits/stdc++.h> using namespace std; long long a[200]; int main(){ int n; a[1]=0; a[2]=1; a[3]=1; for(int i=4;i<=50;i++){ a[i]=a[i-2]+a[i-3]; } do{ cin>>n; if(n){ cout<<a[n]<<endl; } }while(n); return 0; }
-
2023-12-31 19:28:16@
生成括号
using namespace std; int n; char a[2]={'(',')'}; char ans[22]; bool pd(char b[]){ int numl=0,numr=0; for(int i=0;i<2*n;++i){ if(b[i]=='('){ numl++; } else{ numr++; } if(numl<numr){ return false; } } if(numl==numr){ return true; } else{ return false; } } void dfs(int dep){ if(dep==2*n){ if(pd(ans)){ for(int i=0;i<2*n;++i){ cout<<ans[i]; } cout<<endl; } return; } for(int i=0;i<=1;++i){ ans[dep]=a[i]; dfs(dep+1); } } int main() { cin>>n; dfs(0); return 0; }
-
2023-12-31 18:36:41@
铺砖
using namespace std; string s[251]; string jia(string s1,string s2){ int a[100],b[100],c[100]; memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); memset(c,0,sizeof(c)); if(s1.size()<s2.size()){ swap(s1,s2); } a[0]=s1.size(); b[0]=s2.size(); c[0]=b[0]; for(int i=1;i<=a[0];++i){ a[i]=s1[a[0]-i]-'0'; } for(int i=1;i<=b[0];++i){ b[i]=s2[b[0]-i]-'0'; } for(int i=1;i<=a[0];++i){ c[i+1]=(c[i]+a[i]+b[i])/10; c[i]=(c[i]+a[i]+b[i])%10; } if(c[c[0]+1]){ c[0]++; } string s3; for(int i=c[0];i>0;--i){ s3+=c[i]+'0'; } return s3; } int main(){ s[0]="0"; s[1]="1"; s[2]='3'; for(int i=3;i<=250;i++){ s[i]=jia(s[i-1],jia(s[i-2],s[i-2])); } int n; while(cin>>n){ cout<<s[n]<<endl; } return 0; }
-
2023-12-30 20:00:54@
铺砖
-
2023-12-30 20:00:00@
铺砖
-
2023-12-30 19:56:27@
生成括号
-
2023-12-30 19:55:34@
202103C语言三级真题
-
2023-12-30 19:55:07@
202303C语言三级真题
202212C语言三级真题
-
2023-12-30 19:13:41@
http://noi.openjudge.cn/
-
2023-12-30 19:12:32@
试卷名称 标题
http://noi.openjudge.cn/
#include <iostream> #include <iomanip> using namespace std; int main(){ int a; cin>>a; cout<<"---"<<setw(3)<<left<<fixed<<setprecision(3)<<a<<"---";//1234 return 0; }
- 1