zoukankan      html  css  js  c++  java
  • 7.12测试

    惨不忍睹

    第一题:最大那个什么质因数

    我都不知道质数的唯一且最大的因数就是自己,还写了个是质数就直接continue了...把那个去掉就AC了....

    #include<iostream>
    #include<cstdio>
    #include<cmath>
    using namespace std;
    int prime(int a)
    {
    	if(a==1) 
    		return 0;
    	for(int k=2;k<=sqrt(a);k++)
    	{
    		if(a%k==0) return 0;
    	}
    	return 1;
    }
    int tcl(int a)
    {
    	int t,k;
    	for(k=a;k>=sqrt(a);k--)
    	{
    		t=a/k;
    		if(a%k==0 && (prime(k)))
    		{
    			return k;
    		}
    	}
    	return 0; 
    }
    int main()
    {
    	int n,a[5001],i,max=0,tmp=0;
    	scanf("%d",&n);
    	for(i=1;i<=n;i++)
    	{
    		scanf("%d",&a[i]);
    		if(tcl(a[i])>max) 
    		{
    			
    			max=tcl(a[i]);
    			tmp=a[i]/tcl(a[i]);
    		}	
    	}
    	int ans=tmp*max;
    	printf("%d",ans);
    	return 0;
    } 
    

    第二题 输油管道问题

    不知道为什么数学方法日常不对

    AC:

    #include<cstdio>
    #include<algorithm>
    using namespace std;
    int main(){
    	int t,a[10002],i,x;
    	scanf("%d",&t);
    	int dis=0;
    	for(i=0;i<t;i++)
    		scanf("%d%d",&x,&a[i]);
    	sort(a,a+t);
    	t--;
    	for(i=0;i<t;i++)
    		dis+=a[t--]-a[i];
    	printf("%d
    ",dis);
    	return 0;
    }
    

    第三题 开关

    这题需要一些思维,从第一排开始算,以此类推

    #include <iostream>
    #include <cstdio>
    using namespace std;
    #define INF 0x3fffff
    char k[5][5]; int a[5][5];
    int vx[5] = {-1, 0, 1, 0, 0}, vy[5] = {0, 1, 0, -1, 0};
    void click(int c, int t) {
        for(int i = 0; i < 5; ++i)
            if(c + vx[i] >= 0 && t + vy[i] >= 0 && c + vx[i] < 5 && t + vy[i] < 5){
                a[c + vx[i]][t + vy[i]] ^= 1;
           }
    
    }
    int main() {
        int T; 
        scanf("%d", &T);
        while(T--) {
            for(int i = 0; i < 5; ++i)
                for(int j = 0; j < 5; ++j)
                    cin>>k[i][j];
            for(int i = 0; i < 5; ++i)
                for(int j = 0; j < 5; ++j)
                    a[i][j] = (int)(k[i][j] - '0');
            int ans = INF, cnt = 0, flag = 0;
            for(int i = 0; i < 32; ++i) {
                flag = 0; cnt = 0;
                for(int j = 0; j < 5; ++j)
                    if((i >> j) & 1) ++cnt, click(0, j);
                for(int j = 0; j < 4; ++j) {
                    for(int k = 0; k < 5; ++k) {
                        if(!a[j][k]) ++cnt, click(j + 1, k);
                    }
    
                }
                for(int i = 0; i < 5; ++i)
                    for(int j = 0; j < 5; ++j)
                        if(!a[i][j]) {flag = 1; break;}
                if(!flag) ans = min(ans, cnt);
                for(int i = 0; i < 5; ++i)
                    for(int j = 0; j < 5; ++j)
                        a[i][j] = k[i][j] - '0';
            }
            if(ans == INF || ans > 6) printf("%d
    ", -1);
            else printf("%d
    ", ans);
        }
    
    }
    

    第四题 最长公共上升子序列

    分析清楚两个之间的关系,然后dp求解

    #include<cstdio>
    #include<iostream>
    using namespace std;
    #define N 3005
    int a[N],b[N],f[N],g[N],l,k;
    int main(){
        scanf("%d",&l);
        for(int i=1;i<=l;i++) scanf("%d",&a[i]);
        for(int i=1;i<=l;i++) scanf("%d",&b[i]);
        for(int i=1;i<=l;i++){
            k=0;
            for(int j=1;j<=l;j++){
                if(a[i]==b[j])
                    if(f[k]+1>f[j]){
                        f[j]=f[k]+1;g[j]=k;
                    }
                if(a[i]>b[j]) if(f[k]<f[j]) k=j;
            }
        }
        k=0;
        for(int i=1;i<=l;i++) if(f[k]<f[i]) k=i;
        printf("%d
    ",f[k]);
        return 0;
    }
    

    一二题以后务必调好,因为可能有好多好多问题,像第二题真的就只过了个样例....

  • 相关阅读:
    第一节,Django+Xadmin打造上线标准的在线教育平台—创建用户app,在models.py文件生成3张表,用户表、验证码表、轮播图表
    Tensorflow 错误:Unknown command line flag 'f'
    Python 多线程总结
    Git 强制拉取覆盖本地所有文件
    Hive常用函数 傻瓜学习笔记 附完整示例
    Linux 删除指定大小(范围)的文件
    Python 操作 HBase —— Trift Trift2 Happybase 安装使用
    梯度消失 梯度爆炸 梯度偏置 梯度饱和 梯度死亡 文献收藏
    Embedding 文献收藏
    深度学习在CTR预估中的应用 文献收藏
  • 原文地址:https://www.cnblogs.com/LSWorld/p/712test.html
Copyright © 2011-2022 走看看