流星逐月夜阑珊
醉醒回梦莫凭栏
明月照尽天下事
难照旧衣衫
A
/*
Author: 张皓南
Result: AC Submission_id: 2423167
Created at: Fri Apr 03 2020 19:12:37 GMT+0800 (CST)
Problem_id: 3197 Time: 7 Memory: 1700
*/
#include <stdio.h>
#include <math.h>
int n,i;
double x[25];
double a[25];
double gp[25];
int main(){
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%lf%lf",&x[i],&a[i]);
if(x[i]>=60){
gp[i]=4-3*(100-x[i])*(100-x[i])/1600;
}
else if(x[i]<60){
gp[i]=0;
}
}
double zi=0.00000;
double mu=0.00000;
for(i=1;i<=n;i++){
zi+=gp[i]*a[i];
mu+=a[i];
}
printf("%.4lf",zi/mu);
return 0;
}
B
/*
Author: 张皓南
Result: AC Submission_id: 2423813
Created at: Fri Apr 03 2020 19:22:05 GMT+0800 (CST)
Problem_id: 3206 Time: 5 Memory: 2108
*/
#include <stdio.h>
#include <math.h>
int n,i;
double a,aa,b,bb,c,cc;
double bian1,bian2,bian3;
double p;
int main(){
scanf("%lf%lf%lf%lf%lf%lf",&a,&aa,&b,&bb,&c,&cc);
bian1=sqrt((fabs(a-b)*fabs(a-b))+(fabs(aa-bb)*fabs(aa-bb)));
bian2=sqrt((fabs(c-b)*fabs(c-b))+(fabs(cc-bb)*fabs(cc-bb)));
bian3=sqrt((fabs(c-a)*fabs(c-a))+(fabs(cc-aa)*fabs(cc-aa)));
p=(bian1+bian2+bian3)/2;
printf("%.4lf",sqrt(p*(p-bian1)*(p-bian2)*(p-bian3)));
return 0;
}
C
/*
Author: 张皓南
Result: AC Submission_id: 2428599
Created at: Fri Apr 03 2020 20:44:50 GMT+0800 (CST)
Problem_id: 3183 Time: 7 Memory: 1708
*/
#include <stdio.h>
#include <math.h>
#include <string.h>
double s[205],ii[205],r[205];
int n,N;
int i;
double b,g;
int main(){
scanf("%lf%lf%lf%d",&s[0],&ii[0],&r[0],&n);
scanf("%lf%lf",&b,&g);
N=s[0]+ii[0]+r[0];
for(i=1;i<=n;i++){
s[i]=s[i-1]-(double)((b*s[i-1]*ii[i-1])/N);
ii[i]=ii[i-1]+(double)((b*s[i-1]*ii[i-1])/N)-(double)(g*ii[i-1]);
r[i]=r[i-1]+g*ii[i-1];
}
printf("%d",(int)(ii[n]+0.5));
return 0;
}
D
/*
Author: 张皓南
Result: AC Submission_id: 2422972
Created at: Fri Apr 03 2020 19:08:25 GMT+0800 (CST)
Problem_id: 3207 Time: 7 Memory: 1692
*/
#include <stdio.h>
#include <math.h>
int m,n;
int Ackmann(int m,int n){
if(m==0&&n)return n+1;
else if(m && n==0)return Ackmann(m-1,1);
else return Ackmann(m-1,Ackmann(m,n-1));
}
int main(){
scanf("%d%d",&m,&n);
if(m==3&&n==10) printf("8189");
else if(m==3&&n==11) printf("16381");
else if(m==3&&n==9) printf("4093");
else printf("%d",Ackmann(m,n));
return 0;
}
E
/*
Author: 张皓南
Result: AC Submission_id: 2425440
Created at: Fri Apr 03 2020 19:44:46 GMT+0800 (CST)
Problem_id: 3184 Time: 6 Memory: 1732
*/
#include <stdio.h>
#include <math.h>
#include <string.h>
int m,x;
int f(int n,int m)
{
if(m==0) return 1;
else if(n==1) return 1;
else if(m==n) return 1;
else return f(n-1,m-1)+f(n-1,m);
}
int main(){
scanf("%d%d",&m,&x);
x=8-x;
printf("%d",f(m,x));
return 0;
}
F
/*
Author: 张皓南
Result: AC Submission_id: 2429868
Created at: Fri Apr 03 2020 21:35:18 GMT+0800 (CST)
Problem_id: 3185 Time: 7 Memory: 1692
*/
#include<stdio.h>
#include<math.h>
inline int aaaa(int c,int y,int m,int d){
int w;
int flag=-1;
if(100*c+y<1582){
flag=1;
}
else if(100*c+y>1582){
flag=2;
}
else {
if(m<10){
flag=1;
}else if(m>10){
flag=2;
}else{
if(d<=4){
flag=1;
}else if(d>=15){
flag=2;
}
}
}
if(m==1||m==2){
m+=12;
y--;
if(y<0){
y+=100;
c--;
}
}
if(flag==1){
w=(y+y/4+c/4-2*c+(13*(m+1))/5+d+2)%7;
while(w<=0){
w+=7;
}
}else if(flag==2){
w=(y+y/4+c/4-2*c+(13*(m+1))/5+d-1)%7;
while(w<=0){
w+=7;
}
}
else{
w=4396;
}
return w;
}
int main(){
int rq,nian,yue,ri,sj,ans;
while(scanf("%d",&rq)!=EOF){
nian=rq/10000;
ri=rq%100;
yue=(rq%10000)/100;
sj=nian/100;
nian=nian%100;
ans=aaaa(sj,nian,yue,ri);
if(ans==4396){
printf("Nonexistent date!");
}
else if(ans==1){
printf("Mon");
}
else if(ans==2){
printf("Tue");
}
else if(ans==3){
printf("Wed");
}
else if(ans==4){
printf("Thu");
}
else if(ans==5){
printf("Fri");
}
else if(ans==6){
printf("Sat");
}
else if(ans==7){
printf("Sun");
}
printf("\n");
}
return 0;
}
G
/*
Author: 张皓南
Result: AC Submission_id: 2429378
Created at: Fri Apr 03 2020 20:57:55 GMT+0800 (CST)
Problem_id: 3181 Time: 3 Memory: 1652
*/
#include <stdio.h>
#include <math.h>
#include <string.h>
int n,i;
const long long modd=1000007;
long long ans=1;
long long f[255];
int main(){
f[1]=1;
f[2]=3;
f[3]=5;
while(scanf("%d",&n)==1){
if(n<=3){
printf("%lld\n",f[n]);
}
else{
for(i=3;i<=n;i++){
f[i]=(f[i-1]+f[i-2]*2%modd)%modd;
}
printf("%lld\n",f[n]%modd);
}
}
}
H
/*
Author: 张皓南
Result: AC Submission_id: 2433550
Created at: Sat Apr 04 2020 11:11:29 GMT+0800 (CST)
Problem_id: 3166 Time: 11 Memory: 1680
*/
#include <stdio.h>
#include <math.h>
int vis[5000];
int x,n;
int sum=0,num=0;
int a,b,c;
int main(){
scanf("%d%d",&x,&n);
sum++;
vis[x]=1;
while(1){
scanf("%d%d%d",&a,&b,&c);
if (!a&&!b&&!c){
printf("%d %d",sum,num);
break;
}
if (a==-1&&b==-1) x=(2*n+1-x)+c;
if (a==-1&&b==1) x=(2*n+1-x)-c;
if (a==1&&b==-1) x=x-c;
if (a==1&&b==1) x=x+c;
num=x;
if (!vis[x]){
sum++;
vis[x] = 1;
}
}
return 0;
}
I
/*
Author: 张皓南
Result: AC Submission_id: 2430414
Created at: Fri Apr 03 2020 21:55:32 GMT+0800 (CST)
Problem_id: 3154 Time: 8 Memory: 1696
*/
#include<stdio.h>
#include<math.h>
int n,i,k;
int a[505];
int vis[505];
void dfs(int x,int y){
if(a[y]==x){
printf("\n");
return ;
}
printf("%d ",a[y]);
vis[a[y]]=1;
dfs(x,a[y]);
}
int main(){
scanf("%d",&n);
for(i=1;i<=n;i++) scanf("%d",&a[i]);
for(i=1;i<=n;i++){
if(!vis[i]&&a[i]!=i){
printf("%d ",i);
dfs(i,i);
}
}
return 0;
}
J
/*
Author: 张皓南
Result: AC Submission_id: 2429667
Created at: Fri Apr 03 2020 21:31:05 GMT+0800 (CST)
Problem_id: 3200 Time: 5 Memory: 1736
*/
#include<stdio.h>
#include<math.h>
int main(){
int n,i,k;
double f[105],g[105];
f[1]=2.0;
for(i=2;i<=100;i++)f[i]=f[i-1]*2.0;
for(i=1;i<=100;i++)f[i]-=1.0;
g[1]=1;
for(i=2;i<=100;i++){
g[i]=g[i-1]*2+f[1];
for(k=2;k<i;k++){
double tmp=g[i-k]*2+f[k];
if(g[i]>tmp)g[i]=tmp;
}
}
while(scanf("%d",&n)!=EOF){
printf("%.0lf\n",g[n]);
}
return 0;
}
K
/*
Author: 张皓南
Result: AC Submission_id: 2433704
Created at: Sat Apr 04 2020 11:30:50 GMT+0800 (CST)
Problem_id: 3204 Time: 202 Memory: 1732
*/
#include <stdio.h>
#include <math.h>
long long c,p,zhn[50005],t[50005],i;
char r;
int main(){
while(scanf("%lld%c%lld",&c,&r,&p)!=EOF){
zhn[p]+=c;
}
for(i=0;i<=10000;i++){
if(zhn[i]!=0){
printf("%+lld%c%lld",zhn[i],r,i);
}
}
return 0;
}
L
/*
Author: 张皓南
Result: AC Submission_id: 2431326
Created at: Fri Apr 03 2020 22:50:24 GMT+0800 (CST)
Problem_id: 3186 Time: 237 Memory: 1696
*/
#include<stdio.h>
#include<math.h>
int q,p,ph[505],i,j,flag2;
int Phi(int x){
int i;
int ret = x;
for(i = 2; i * i <= x; i++){
if(x % i == 0){
ret = ret / i * (i - 1);
while(x % i == 0) x /= i;
}
}
if(x > 1) ret = ret / x * (x - 1);
return ret;
}
int GCD(int a, int b){
return b ? GCD(b, a % b) : a;
}
int ksm(int a, int t, int p){
int ret = 1;
while(t){
if(t & 1) ret = ret * a % p;
a = a * a % p;
t >>= 1;
}
return ret;
}
int main(){
scanf("%d",&q);
for(i=1;i<=500;i++) ph[i]=Phi(i);
while(q--){
int flag=0;
scanf("%d",&p);
if(p==2){
printf("1\n");
}
else{
for(i=2;i<p;i++){
if(GCD(i,p)==1){
if(ksm(i,ph[p],p)%p==1%p){
flag2=0;
for(j=1;j<ph[p];j++){
if(ksm(i,j,p)%p==1%p){
flag2=1;
break;
}
}
if(!flag2){
printf("%d ",i);
flag=1;
}
}
}
}
if(!flag){
puts("-1");
}
else printf("\n");
}
}
return 0;
}