A
#includeusing namespace std; int main(){ int a,b;cin>>a>>b;cout<<(a*b); }
B
#includeusing namespace std; vector add(vector &a,vector &b) { if(a.size()>b.size())return add(b,a); vector rt; int t=0; for(int i=0; i a) { for(int i=a.size()-1; i>=0; i--)printf("%d",a[i]); puts(""); } int main() { string a,b; cin>>a>>b; vector A,B; for(int i=a.size()-1; i>=0; i--)A.push_back(a[i]-'0'); for(int i=b.size()-1; i>=0; i--)B.push_back(b[i]-'0'); out(add(A,B)); }
C
#includeusing namespace std; const int N=1e6+500; typedef long long ll; bool ck(ll x){//有平方因子 for(int i=2;i<=N-100;i++){ if(x%((ll)i*i)==0)return true; } for(int i=1;i<=N-100&&i<=x;i++){ if(x%i==0){ ll t=x/i; ll u=sqrt(t); if(u*u==t&&u!=1LL)return true; } } return false; } int main(){ ll c;cin>>c; if(c==1LL){ puts("no"); return 0; } puts(ck(c)?"yes":"no"); }
D
#includeusing namespace std; #define mp make_pair #define fi first #define se second #define pb push_back typedef long double db; const db eps=1e-22; const db pi=acos(-1); int sign(db k) { if(k>eps)return 1; else if(k<-eps)return -1; return 0; } int cmp(db k1,db k2) { return sign(k1-k2); } int inmid(db k1,db k2,db k3) { //在线段内 return sign(k1-k3)*sign(k2-k3) <=0; } struct point { db x,y; point operator + (const point &k1)const { return (point) { k1.x+x,k1.y+y }; } point operator - (const point &k1)const { return (point) { x-k1.x,y-k1.y }; } point operator * (db k1)const { return (point) { x*k1,y*k1 }; }; point operator / (db k1)const { return (point) { x/k1,y/k1 }; } bool operator < (const point k1)const { int a=cmp(x,k1.x); if(a==-1)return 1; else if (a==1)return 0; else return cmp(y,k1.y)==-1; } db abs() { return sqrt(x*x+y*y); } db abs2() { return x*x+y*y; } db dis(point k1) { //到k1的距离 return ((*this)-k1).abs(); } void scan() { db k1,k2; scanf("%Lf%Lf",&k1,&k2); x=k1,y=k2; } }; int inmid(point k1,point k2,point k3) { return inmid(k1.x,k2.x,k3.x)&&inmid(k1.y,k2.y,k3.y); } db dot(point k1,point k2) { return k1.x*k2.x+k1.y*k2.y; } point proj(point k1,point k2,point q) { //q到直线k1,k2的投影 point k=k2-k1; return k1+k*(dot(q-k1,k))/k.abs2(); } //点到线段的距离 db disSP(point k1,point k2,point q) { point k3=proj(k1,k2,q); if(inmid(k1,k2,k3))return q.dis(k3); else return min(q.dis(k1),q.dis(k2)); } int main() { point p,q,r; p.scan(),q.scan(),r.scan(); if(sign(q.dis(r))==0)printf("%.6Lf",p.dis(q)); else printf("%.6Lf",q.dis(r)+disSP(q,r,p)); return 0; }
E
#includeusing namespace std; typedef long long ll; const int N=1e5+500; ll k; int n,a[N]; //最大的x <=x的数对有>=k个 int getnum(int u,int x){if(!u)return 0; int l=1,r=u; while(l >1; if(a[mid]<=x)l=mid; else r=mid-1; } if(a[l]<=x) return l; else return 0; } bool ck(int x)//和<=x的有大于等于k个 { ll tol=0; for(int i=1;i<=n;i++){ tol+=(ll)getnum(i-1,x-a[i]); } return tol>=k; } int main(){ scanf("%d%d",&n,&k); for(int i=1;i<=n;i++)scanf("%d",&a[i]); sort(a+1,a+n+1); int l=0,r=2e8+1; while(l >1; if(ck(mid))r=mid; else l=mid+1; } printf("%dn",l); }
F
#includeusing namespace std; int main(){ int tt; scanf("%d",&tt); while(tt--){ int u; scanf("%d",&u); puts("No"); } return 0; }
G
#includeusing namespace std; int main(){ int tt; scanf("%d",&tt); while(tt--){ char c=getchar(); int a=0,b=0; if(c=='+')a++; else if(c=='-')b++; else a++; while(1){ c=getchar(); if(c=='n')break; if(c=='+')a++; else if(c=='-')b++; } printf("%dn",a-b); } }
H
#includeusing namespace std; typedef long long ll; ll solve(ll r){ ll rt=0; for(ll i=-r;i<=r;i++){ for(ll j=-r;j<=r;j++){ if(i*i+j*j<=r*r)rt+=1+((ll)sqrt(r*r-i*i-j*j))*2; } } return rt; } int main(){ int tt; scanf("%d",&tt); while(tt--){ ll r; scanf("%lld",&r); printf("%lldn",solve(r)); } }
I
#includeusing namespace std; #define int long long int ksm(int x, int n, int p) { int res = 1; while (n) { if (n & 1) res = res*x%p; x = x*x%p; n >>= 1; } return res; } const int MOD=998244353; int solve(int n){ if(n<=1)return 1; int x,y; for(int i=n/3;i>=0;i--){ if((n-3*i)%2==0){ x=(n-3*i)/2; y=i; break; } } return ksm(2,x,MOD)*ksm(3,y,MOD)%MOD; } signed main(){ int tt; cin>>tt; while(tt--){ int x;cin>>x; cout< J
#includeusing namespace std; typedef pair PII; #define x first #define y second PII turn(PII p){ int x=p.first,y=p.second; int u,v; if(x<0&&y<0){ u=-1,v=1; } if(x<0&&y>0){ u=1,v=1; } if(x>0&&y<0){ u=-1,v=-1; } if(x>0&&y>0){ u=1,v=-1; } return {u*abs(y),v*abs(x)}; } PII up(PII p){ if(p.x==1)return{-1,p.y}; else return {p.x-1,p.y}; } PII left(PII p){ if(p.y==1) return {p.x,-1}; else return {p.x,p.y-1}; }//注意边界 struct Info{ PII pos[6]; void Sort(){ sort(pos,pos+6); } bool operator==(const Info I)const { for(int i=0;i<6;i++)if(pos[i]!=I.pos[i])return false; return true; } void E(); }; bool can_up(Info I){ for(int i=0;i<6;i++)if(I.pos[i].x==-3)return false; return true; } bool can_left(Info I){ for(int i=0;i<6;i++)if(I.pos[i].y==-3)return false; return true; } Info left(Info I){ Info rt; for(int i=0;i<6;i++)rt.pos[i]=left(I.pos[i]); return rt; } Info up(Info I){ Info rt; for(int i=0;i<6;i++)rt.pos[i]=up(I.pos[i]); return rt; } void Info::E(){ while(can_up(*this)){ *this=up(*this); } while(can_left(*this)){ *this=left(*this); } } Info turn(Info I){ Info rt; for(int i=0;i<6;i++)rt.pos[i]=turn(I.pos[i]); rt.Sort(); rt.E(); return rt; } Info reflect(Info I){ Info rt; for(int i=0;i<6;i++)rt.pos[i]={-I.pos[i].first,I.pos[i].second}; rt.Sort(); rt.E(); return rt; } PII bb[11][6]={ { { -3,-3 } , { -2,-3 } , {-2 ,-2 } , {-2 ,-1 } , { -2,1 } , { -1,1 } } , { {-2 ,-3 } , { -2,-2 } , {-3 ,-2 } , {-2 ,-1 } , {-2 ,1 } , {-1 ,-2 } } , { { -2,-3 } , {-2 ,-2 } , {-3 ,-2 } , {-2 ,-1 } , {-2 ,1 } , {-1 ,-1 } } , { { -3,-3 } , {-2 ,-3 } , {-1 ,-3 } , {-2 ,-2 } , {-2 ,-1 } , {-2 ,1 } } , { {-3 ,-3 } , {-2 ,-3 } , {-2 ,-2 } , {-2 ,-1 } , {-2 ,1 } , {-1 ,-2 } } , { { -3,-3 } , {-2 ,-3 } , {-2 ,-2 } , {-2 ,-1 } , {-2 ,1 } , {-1 ,-1 } } , { { -3,-3 } , {-3 ,-2 } , {-2 ,-2 } , {-1 ,-2 } , {-2 ,-1 } , {-2 ,1 } } , { { -3,-3 } , {-3 ,-2 } , {-2 ,-2 } , {-2 ,-1 } , {-1 ,-1 } , { -2,1 } } , { { -3,-3 } , {-3 ,-2 } , {-2 ,-2 } , {-2 ,-1 } , {-2 ,1 } , {-1 ,1 } } , { { -3,-3 } , {-3 ,-2 } , {-2 ,-2 } , {-2 ,-1 } , {-1 ,-1 } , {-1 ,1 } } , { { -2, -3} , {-2 ,-2 } , {-2 ,-1 } , { -3, -1} , { -3,1 } , {-3 ,2 } } , }; int f[6]={-3,-2,-1,1,2,3}; int main(){ int tt; cin>>tt; while(tt--){ Info cur; for(int i=0;i<6;i++){ int x,y; cin>>x>>y; x=f[x],y=f[y]; cur.pos[i]={x,y}; } cur.Sort(),cur.E(); int ok=0; for(int I=0;I<11;I++){ Info now; for(int i=0;i<6;i++)now.pos[i]=bb[I][i]; now.Sort();now.E(); for(int j=0;j<4;j++){ Info ref=reflect(now); now.Sort(),now.E(); ref.Sort(),ref.E(); if(cur==ref||cur==now)ok=1; now=turn(now); } } puts(ok?"Yes":"No"); } } K
#includeusing namespace std; const int N=2005; int color[N],e[N],ne[N],h[N],idx,n,m; int ok=1; void dfs(int x,int c){ color[x]=c; int nc=-c; for(int i=h[x];~i;i=ne[i]){ int j=e[i]; if(color[j]==c){ ok=0; return ; } if(!color[j])dfs(j,nc); } } void add(int a,int b){ e[idx]=b,ne[idx]=h[a],h[a]=idx++; } int main(){ memset(h,-1,sizeof h); cin>>n>>m; while(m--){ int a,b;cin>>a>>b; add(a,b),add(b,a); } for(int i=1;i<=n;i++)if(!color[i])dfs(i,1); puts(ok?"YES":"NO"); } L
#includeusing namespace std; const int N=1e5+500; int a[N],n; int main(){ cin>>n;for(int i=1;i<=n;i++)cin>>a[i]; sort(a+1,a+n+1); for(int i=2;i<=n;i++)if(a[i]-a[i-1]==2){ cout< M
#includeusing namespace std; typedef long long ll; unordered_map cnt; int ed,k; //ed 第一个个数为k的位置 //solve返回值 第一个1的位置 ll a[100005]; int solve(ll x){ bool f=0; int rt=0; for(int i=0;;i++){ a[i]=x; cnt[x]++; if(!f&&cnt[x]==k)ed=i,f=1; if(x==1)return i; if(x%2==1)x=3*x+1; else x/=2; } } signed main(){ int tt; cin>>tt; while(tt--){ ed=-1; cnt.clear(); ll n;int m; scanf("%lld%d%lld",&n,&m,&k); if(n==0){ puts("0"); continue; } int t=solve(n);//第一个1 if(m ed)puts("0"); else printf("%lldn",a[m]); } } else if(m==t){ if(ed==-1){ puts("1"); } else if(ed =1); bool ok=(num1>=k)||(num2>=k)||(num4>=k); if(ok)puts("0"); else{ int ans=-1; int dd=m-t; if(dd%3==0)ans=1; else if(dd%3==1)ans=4; else ans=2; printf("%dn",ans); } } } } N
#includeusing namespace std; int n; string str[20]; int main(){ cin>>str[1]>>str[2]; cin>>n; for(int i=3;i<=n;i++)str[i]=str[i-2]+str[i-1]; cout< O
#includeusing namespace std; const int N=305; typedef long long ll; int p[N]; int h[N],n,m,nn; int f[N][100*N];//i个,共j个,价值为u,最少价钱 #define ckmin(x,y) x=(x >nn>>m>>k; int hsum=0; for(int i=1; i<=nn; i++) { int pp;int hh; cin>>pp>>hh; if(hh>0) { n++; p[n]=pp,h[n]=hh; hsum+=hh; } } memset(f,0x3f,sizeof f); ckmin(m,n); int i,j,u; for(j=0; j<=m; j++)f[j][0]=0; for( i=1; i<=n; i++) { for( j=m; j>=1; j--) { for( u=0; u<=hsum; u++) { if(u>=h[i]) { ckmin(f[j][u],f[j-1][u-h[i]]+p[i]); } else { ckmin(f[j][u],p[i]); } if(f[j][u]>1e9+100000)break; } } } int l=0,r=hsum; while(l >1; if(f[m][mid]<=k)l=mid; else r=mid-1; } cout< P
#includeusing namespace std; const int MOD=998244353,N=1e6+500; typedef long long ll; int fac[N]; int main(){ fac[0]=1; for(int i=1;i<=N-200;i++)fac[i]=(ll)fac[i-1]*i%MOD; int n; cin>>n; int sum=0; for(int i=1;i<=n;i++)sum=((ll)sum+fac[i])%MOD; cout< Q
#includeusing namespace std; typedef long long ll; const int MOD=494273703; int fac[3050]; int main(){ fac[0]=1; for(int i=1;i<=3010;i++)fac[i]=(ll)fac[i-1]*i%MOD; int s=0;for(int i=1;i<=3001;i++)s=((ll)s+fac[i])%MOD; int n;cin>>n; if(n>=3001)cout<<(s)<<"n"; else { int sum=0; for(int i=1;i<=n;i++)sum=((ll)sum+fac[i])%MOD; cout< R
#includeusing namespace std; int main(){ int t; cin>>t; cout<<(100000-t); } S
#includeusing namespace std; int main(){ puts("-11"); } T
#include#include #include using namespace std; const int N=1001000; int a[N]; char s[N]; int main(){ int n; cin>>n; scanf("%s",s); for(int i=1;i<=n;i++)a[i]=s[i-1]-'0'; for(int i=1;i<=n;i++){ if(a[i]==1){ int f=-1; for(int j=max(1,i-1);j<=min(n,i+3);j++)if(a[j]==3){ f=j;break; } if(f!=-1){ int u=min(f+1,i+2);//炸弹 for(int k=max(1,u-1);k<=min(n,u+1);k++)if(a[k]==3)a[k]=0; } } else if(a[i]==2){ int f=-1; for(int j=max(1,i-2);j<=min(n,i+4);j++){ if(a[j]==3){ f=j;break; } } if(f!=-1){ int u=min(f+2,i+2); for(int k=max(1,u-2);k<=min(n,u+2);k++){ if(a[k]==3)a[k]=0; } } } } int ok=1; for(int i=1;i<=n;i++)if(a[i]==3)ok=0; puts(ok?"Yes":"No"); }



