2019-10-09 社恐老人的刷题时间

	呜 总算搞定了周五下午那场沙龙的“看护人员”,没有认识的小姐姐,去了那里很方的哈哈哈哈,拉了可爱的舍友!(希望不要鸽了我),上午挣扎着看了半天pytorch入门,emmmm还是很懵逼,拉了宋神下周给我讲,嘻嘻!开熏!
	然后乱七八糟的事情做完了,就打起精神来刷题。

PAT A1008

	这个太简单了,就是计算电梯上下楼速度,所以很快就pass了。没任何难度……
	直接贴吧
#include<math.h>
#include<iostream>
#include<algorithm>
using namespace std;

int main()
{
    int n,time,i;
    cin>>n;
    int floor[105];

    for(i=0;i<n;i++)
    {
        cin>>floor[i];
    }
    if(n==1)
    {
        cout<<6*(floor[0])+5;
        return 0;
    }
    time+=6*floor[0]+5;
    for(i=1;i<n;i++)
    {
        if(floor[i]>floor[i-1])
            time+=6*(floor[i]-floor[i-1])+5;
        else if(floor[i]<floor[i-1])
            time+=4*(floor[i-1]-floor[i])+5;
        else if(floor[i]==floor[i-1])
            time+=5;
    }
    cout<<time;
    return 0;
}
然后,把昨天那道不会的题,默写了一遍。果然,即使分析了别人的思路,也不一定完全复现,好记性不如烂笔头这话太对了,自己刷到22/25,对照了人家的答案,发现错了一个细节,就是非负数那里,少了个等于号,希望通过这次练习,牢牢记住这个算法~
贴个自己的(基本和别人那个一毛一样哈哈哈哈哈哈)

PAT A1007

#include<iostream>
#include<math.h>
#include<algorithm>
using namespace std;

int num[10000]={0};
int dp[10000]={0};
int s[10000]={0};
int main()
{
    int k,i;
    cin>>k;
    int flag=1;
    for(i=0;i<k;i++)
    {
        cin>>num[i];
        if(num[i]>=0)
            flag=0;//存在非负数
    }

    if(flag)
    {
        cout<<"0 "<<num[0]<<" "<<num[k-1];
        return 0;
    }
    
    dp[0]=num[0];
    for(i=1;i<k;i++)
    {
        if(dp[i-1]+num[i]<num[i])
        {
            dp[i]=num[i];
            s[i]=i;
        }
        else
        {
            dp[i]=dp[i-1]+num[i];
            s[i]=s[i-1];
        }
    }
    int ans=0;
    for(i=0;i<k;i++)
    {
        if(dp[i]>dp[ans])
        {
            ans=i;
        }
    }
    cout<<dp[ans]<<" "<<num[s[ans]]<<" "<<num[ans];

    return 0;
}

A1009

多项式乘法
最高刷到20/25……唉不知道哪个细节错了
就这样吧……考试时候这5分不拿了……改天心情好了再看!
over~

发布了42 篇原创文章 · 获赞 16 · 访问量 2881

猜你喜欢

转载自blog.csdn.net/weixin_44412218/article/details/102463889