zoukankan      html  css  js  c++  java
  • 【题解】csp.ac #63. 除尽(T1-19)

    题目

    csp.ac #63. 除尽(T1-19)

    思路

    (large 2 = 2)
    (large 3 = 3)
    (large 4 = 2 imes2)
    (large 5 = 5)
    (large 6 = 2 imes 3)

    对于任意一个 (a,b),都可以转换成质数(2,3,5)的几次方的乘积。
    (large a = 2^{a_1}3^{a_2}5^{a_3})

    (large b = 2^{b_1}3^{b_2}5^{b_3})

    只要(b_1 leq a_1)(b_2 leq a_2)并且(b_3 leq a_3),那么 (a) 就是 (b) 的倍数。

    Code

    #include<cstdio>
    #include<cstring>
    #include<string>
    #include<iostream>
    #include<algorithm>
    
    inline void read(int &T) {
    	int x=0;bool f=0;char c=getchar();
    	while(c<'0'||c>'9'){if(c=='-')f=!f;c=getchar();}
    	while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();}
    	T=f?-x:x;
    }
    
    int n,m,a[6],b[6];
    
    int main() {
    	read(n),read(m);
    	for(int i=1,x;i<=n;++i) {
    		read(x);
    		if(x==1) continue;
    		if(x==2) {++a[2];continue;}
    		if(x==3) {++a[3];continue;}
    		if(x==4) {a[2]+=2;continue;}
    		if(x==5) {++a[5];continue;}
    		if(x==6) {++a[2],++a[3];continue;}
    	}
    	for(int i=1,x;i<=m;++i) {
    		read(x);
    		if(x==1) continue;
    		if(x==2) {++b[2];continue;}
    		if(x==3) {++b[3];continue;}
    		if(x==4) {b[2]+=2;continue;}
    		if(x==5) {++b[5];continue;}
    		if(x==6) {++b[2],++b[3];continue;}
    	}
    	for(int i=2;i<=5;++i) {
    		if(b[i]==0) continue;
    		if(a[i]<b[i]) {
    			puts("No");
    			return 0;
    		}
    	}
    	puts("Yes");
    	return 0;
    }
    
  • 相关阅读:
    400
    Eclipse中的Link with Editor功能是如何实现
    SET NOCOUNT
    response的响应头相关方法
    response发送状态码
    myeclipse在开发前的一些设置
    网站访问量统计案例
    使用ServletContext获取相关资源的方法
    获取web.xml文件中初始化参数
    域对象
  • 原文地址:https://www.cnblogs.com/poi-bolg-poi/p/12812425.html
Copyright © 2011-2022 走看看