zoukankan      html  css  js  c++  java
  • 程序设计思维与实践 Week11 作业 (3/4/数据班)

    程序设计思维与实践 Week11 作业 (3/4/数据班)

    A - 必做题11-1

    问题分析

    在20年内,年积攒的收入和房价,逐年做比较,达到了就认为可买下,20年还未达到则输出impossible

    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
    	int N, K;
    	cin>>N>>K;
    	int M=1;
    	double in=N;
    	double S=200;
    	while(M<=20)
    	{
    		if(in>=S){
    			break;
    		}
    		M++;
    		in+=N;
    		S*=(1+(double)K/100.0);
    		
    	}
    	if(M>20){
    		cout<<"Impossible"<<endl;
    	}
    	else{
    		cout<<M<<endl;
    	}
    	return 0;
     } 
    
    

    B - 必做题11-2

    问题分析

    看一下代码吧,里边列出了旋转的公式,按照公式算出三种旋转后的方阵,存在矩阵里,再注意和老师的要求做对比。

    #include<bits/stdc++.h>
    using namespace std;
    int mtrx[5][25][25];//0,1,2,3分别代表0,90,180,270旋转,4代表老师期望 
    int n;
    bool is_equal(int k)
    {
       bool ans=1;
       for(int i=0;i<n;++i){
       	for(int j=0;j<n;++j){
       		if(mtrx[k][i][j]!=mtrx[4][i][j]){
       			ans=0;
       			break;
       		}
       	}
       }
       return ans;
    }
    int main()
    {
       cin>>n;
       int tmp;
       for(int i=0;i<n;++i){
       	for(int j=0;j<n;++j){
       		cin>>tmp;
       		mtrx[0][i][j]=tmp;
       		mtrx[1][j][n-i-1]=tmp;
       		mtrx[2][n-i-1][n-j-1]=tmp;
       		mtrx[3][n-j-1][i]=tmp;
       	}
       }/*
       for(int k=0;k<4;++k){
       	for(int i=0;i<n;++i){
       		for(int j=0;j<n;++j){
       			cout<<mtrx[k][i][j]<<' ';
       		}
       		cout<<endl;
       	}
       	cout<<endl;
       }*/
       for(int i=0;i<n;++i){
       	for(int j=0;j<n;++j){
       		cin>>tmp;
       		mtrx[4][i][j]=tmp;
       	}
       }
       for(int k=0;k<4;++k){
       	if(is_equal(k)){
       		cout<<k<<endl;
       		return 0;
       	}
       }
       cout<<"-1"<<endl;
       return 0;
    }
    
    
    

    C - 必做题11-3

    问题分析

    思路同上题,确定映射关系,然后解密即可。

    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
       string s;
       getline(cin,s);
       int len=s.length();
       for(int i=0;i<len;++i){
       	if(s[i]>='F'&&s[i]<='Z'){
       		cout<<(char)((int)s[i]-5);
       	}
       	else if(s[i]>='A'&&s[i]<='E'){
       		cout<<(char)((int)s[i]+21);
       	}
       	else{
       		cout<<s[i];
       	}
       }
       cout<<endl;
       return 0;
    }
    

    D - 必做题11-4

    问题分析

    参考了别人的代码,这个题自己当时完全不会做。

    #include <bits/stdc++.h>
    using namespace std;
    //参考了他人的代码 
    int main()
    {
    	int n;
    	int cnt1=0,cnt2=0;
    	int mx=0;
    	int a[100000+5];
    	cin>>n;
    	for (int i=0;i<n;i++){
    		cin>>a[i];
    	}
    		
    	for (int i=0; i<n; i++)
    	{
    		if(a[i]==1)
    		{
    			cnt1++;
    			if(a[i+1]!=1)
    			{
    				if(cnt1>=cnt2)
    					mx=max(mx,2*cnt2);
    				else
    					mx=max(mx,2*cnt1);
    				cnt2=0;
    			}
    		}
    		else if(a[i]==2)
    		{
    			cnt2++;
    			if(a[i+1]!=2)
    			{
    				if(cnt1>=cnt2)
    					mx=max(mx,2*cnt2);
    				else
    					mx=max(mx,2*cnt1);
    				cnt1=0;
    			}
    			
    		}	
    	}
    	cout<<mx<<endl;
    	return 0;
    }
    
    
  • 相关阅读:
    jquery 实现 html5 placeholder 兼容password密码框
    php返回json的结果
    使用PHP读取远程文件
    Sharepoint 自定义字段
    Sharepoint 中新增 aspx页面,并在页面中新增web part
    【转】Sharepoint 2010 配置我的站点及BLOG
    JS 实现 Div 向上浮动
    UserProfile同步配置
    【转】Import User Profile Photos from Active Directory into SharePoint 2010
    Sharepoint 2010 SP1升级后 FIMSynchronizationService 服务无法开启
  • 原文地址:https://www.cnblogs.com/master-cn/p/12904782.html
Copyright © 2011-2022 走看看