呜 总算搞定了周五下午那场沙龙的“看护人员”,没有认识的小姐姐,去了那里很方的哈哈哈哈,拉了可爱的舍友!(希望不要鸽了我),上午挣扎着看了半天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~