-
个人简介
(深搜)
#include<bits/stdc++.h> using namespace std; long long f[10],a[10],b[10],n; void dfs(int x) { if(x>3) { for(int i=1;i<=3;i++) cout<<b[i]; cout<<" "; return ; } for(int i=1;i<=3;i++) { if(f[i]==0) { b[x]=a[i]; f[i]=1; dfs(x+1); f[i]=0; } } } int main() { for(int i=1;i<=3;i++) cin>>a[i]; sort(a+1,a+4); dfs(1); }#include<bits/stdc++.h> using namespace std; int dx[5]={0,2,1,-1,-2}; int dy[5]={0,1,2,2,1}; void dfs(int x,int y) { if(x==m&&y==n) { ans++; return ; } for(int i=1;i<=4;i++) { int tx=x+dx[i]; int ty=y+dy[i]; if(f[tx][ty]==1) continue; if(tx<0||tx>m||ty>n) continue; f[tx][ty]=1; dfs(tx,ty); f[tx][ty]=0; // if(tx>=0&&tx<=m&&ty>=0&&ty<=n&&f[tx][ty]==0) { f[tx][ty]=1; dfs(tx,ty); f[tx][ty]=0; } } } int main() { cin>>m>>n; f[0][0]=1; dfs(0,0); cout<<ans; }01
#include<bits/stdc++.h> using namespace std; long long n,V,v[1100],w[1100],f[1100][1100]; int main() { cin>>n>>V; for(int i=1;i<=n;i++) cin>>v[i]>>w[i]; for(int i=1;i<=n;i++) { for(int j=1;j<=V;j++) { if(j>=v[i]) f[i][j]=max(f[i-1][j-v[i]]+w[i],f[i-1][j]); else f[i][j]=f[i-1][j]; } } cout<<f[n][V]; }#include<bits/stdc++.h> using namespace std; int dx[5]={0,-1,1,0,0}; int dy[5]={0,0,0,-1,1}; int r,c,f[200][200],a[200][200],maxn,d[200][200]; int dfs(int x,int y) { if(d[x][y]) return d[x][y]; int ans=0; for(int i=1;i<=4;i++) { int tx=x+dx[i]; int ty=y+dy[i]; if(f[tx][ty]==1) continue; if(tx<1||ty<1||tx>r||ty>c) continue; if(a[x][y]<=a[tx][ty]) continue; f[tx][ty]=1; ans=max(ans,dfs(tx,ty)); f[tx][ty]=0; } return d[x][y]=ans+1; } int main() { cin>>r>>c; for(int i=1;i<=r;i++) for(int j=1;j<=c;j++) cin>>a[i][j]; for(int i=1;i<=r;i++) for(int j=1;j<=c;j++) { f[i][j]=1; maxn=max(maxn,dfs(i,j)); f[i][j]=0; } cout<<maxn; }#include <bits/stdc++.h> using namespace std; int n, f[1000010], x, y, q[1000010]; int main() { freopen("pcount.in", "r", stdin); freopen("pcount.out", "w", stdout); for (int i = 2; i <= 1000000; ++ i) f[i] = 1; for (int i = 2; i * i <= 1000000; ++ i) if (f[i] == 1) { for (int j = i * i; j <= 1000000; j += i) f[j] = 0; } for (int i = 1; i <= 1000000; ++ i) q[i] = q[i - 1] + f[i]; cin >> n; for (int i = 1; i <= n; ++ i) { cin >> x >> y; cout << q[y] - q[x - 1] << '\n'; } return 0; } -
通过的题目
-
最近活动
This person is lazy and didn't join any contests or homework. -
最近编写的题解
This person is lazy and didn't write any solutions.