A-组合数
#include
#include
#define ll long long
const int N=100;
const int mod=1e9+7;
const double EXP = 1E-8;
const int INF = 0x3f3f3f3f;
ll t,n,m,k,q;
ll a[505]={1,1},b[500];
ll dp[450][450],cnt;
ll c[N][N];
void init()
{
ll i,j;
for(i=2;i<=432;i++)
{
if(a[i])
continue;
b[++cnt]=i;
for(j=i*i;j<=432;j+=i)
a[j]=1;
}
for(i=2;i<=432;i++)
{
for(j=1;b[j]<=i && j<=cnt;j++)
{
ll tmp=i,res=0;
while(tmp)
tmp/=b[j],res+=tmp;
dp[i][b[j]]=res;
}
}
}
int main(){
c[0][0]=1;
for(int i=1;i<=50;i++){
c[i][0]=c[i][i]=1;
for(int j=1;j
B-傻鸡抓大闸蟹
#include
using namespace std;
int vis[5010];
struct node{
long long x,y;
int id;
}a[5100];
int cmp(node x1,node y1){
return x1.xa[n-i+1].id)
swap(a[i].id,a[n-i+1].id);
printf("%d\n",a[i].id);
printf("%d\n",a[n-i+1].id);
}
for(int i=1;i<=n;i++){
if(vis[i]==0)
printf("%d\n",a[i].id);
}
}
问题 E: Jack的A+B
#include
#include
#include
using namespace std;
int main(){
long long a,b;
stacks;
while(~scanf("%lld%lld",&a,&b)){
if(a+b==0)
{
printf("0\n");
continue;
}
long long ans=a+b;
int t,ct=0;
while(ans>0){
t=ans%10;
s.push(t);
ct++;
if(ct==3&&ans/10>0){
ct=0;
s.push(11);
}
ans/=10;
}
while(!s.empty()){
if(s.top()==11){
printf(",");
s.pop();
}
else{
printf("%d",s.top());
s.pop();
}
}
printf("\n");
}
}
问题 G: 圆桌上的晚餐
#include
#include
int main(){
int n,m;
int a[1005];
while(~scanf("%d%d",&n,&m)){
int f=0;
memset(a,0,sizeof(a));
for(int i=0;i
问题 H: 小k的简单问题
#include
using namespace std;
int main(){
int T;
scanf("%d",&T);
while(T--){
int x,y,z;
int n;
scanf("%d",&n);
int sum1=0,sum2=0,sum3=0;
for(int i=0;i
问题 I: 夫子云游
#include
int n,m,ans;
void dfs(int a,int b,int c,int d){
if(b>=n+m){
if(a==0)
ans++;
return;
}
if(a<=0)
return;
if(c
问题 J: 老肖数等式
#include
int main(){
int n;
while(~scanf("%d",&n)){
for(int i=0;i<=n/2;i++){
printf("%d. %d+%d=\n",i+1,i,n-i);
}
}
}
问题 K: WaWa的难题
#include
using namespace std;
int N;
int vis[100];
int ans;
int main(){
long long a[105];
a[0]=0;
a[1]=1;
a[2]=1;
a[3]=2;
a[4]=4;
for(int i=5;i<=100;i++)
a[i]=a[i-1]+a[i-3]+1;
while(~scanf("%d",&N)){
printf("%lld\n",a[N]);
}
}
问题 M: 最亲密的x个人
#include
using namespace std;
struct node{
long long x2=0;
int id=0;
bool operator <(const node &S)const{
if(x2==S.x2)
return id