很开心
收获四个鸭蛋
如果不是判断失误数组开太小了,还有文件读写里双引号打成单引号(小声bb)
随随便便上一百五(自信的笑容)
第一题#A. 小蒜头爬山http://59.60.22.18:2501/d/hustoj/p/P5052
#include<bits/stdc++.h>
using namespace std;
long long n,a[1145141],maks;
long long i;
int main(){
freopen("mountain.in","r",stdin);
freopen("mountain.out","w",stdout);
cin>>n;
for(i=1;i<=n;i++){
cin>>a[i];
}
for(i=2;i<=n;i++){
long long sb=max(a[i],a[i-1])-min(a[i],a[i-1]);
if(sb>maks){
maks=sb;
}
}
cout<<maks;
return 0;
}
刚开始用abs(a-b),行不通
后来想了想,可以max(a,b)-min(a,b)获得同样的效果
一递交,嘿!绿了
第二题#B. 小蒜头的矩阵http://59.60.22.18:2501/d/hustoj/p/P5053
#include<bits/stdc++.h>
using namespace std;
int n,val[2500][2500];
int main(){
freopen("matrix.in","r",stdin);
freopen("matrix.out","w",stdout);
cin>>n;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cin>>val[i][j];
if(val[i][j]==-1){
if(i==1&&i==1){
for(int ii=2;ii<=n;ii++){
cin>>val[1][ii];
}
cin>>val[i+1][j]>>val[i+1][j+1];
cout<<val[i+1][j]+val[i][j+1]-val[i+1][j+1];
}
else if(i==1&&j==n){
for(int ii=1;ii<=n;ii++){
cin>>val[2][ii];
}
cout<<val[i+1][j]+val[i][j-1]-val[i+1][j-1];
}
else if(i==n&&j==1){
cin>>val[i][j+1];
cout<<val[i-1][j]+val[i][j+1]-val[i-1][j+1];
}
else{
cout<<val[i-1][j]+val[i][j-1]-val[i-1][j-1];
}
return 0;
}
}
}
}
我一看到这题直接变stuuuuuuuuuupid
眼睛瞎掉没看见数据规模,想着用递归,果不其然的超时
没关系!回到桌面!右键!新建!Excel表格!
吼吼,原来可以用旁边的数推导出未知的数
第三题#C. 小蒜头的时间http://59.60.22.18:2501/d/hustoj/p/P5054
(话说小蒜头她究竟是什么人,这么牛逼)
一边看题解一边写(抄)的
有1不说2,用栈的思想来解真的很巧妙
第四题#D. 小蒜头的学生http://59.60.22.18:2501/d/hustoj/p/P5055
不说了,听都没听懂(:з」∠)
最后一页有…….