8.30测试总结
Luck_Deepsea · · 算法·理论
8.30 测试总结
U593638 操作
得分:80
应得:100
考点:判断(数学)
错误思路:模拟(TLE )
正确思路:发现有3 种情况:
1.n>k;
cout<<min(n%k,k-n%k);
2.n==k;
cout<<0;
3.n<k;
cout<<min(n,k-n);
完整代码:
#include<bits/stdc++.h>
#define int long long
#define endl '\n'
using namespace std;
int n,k;
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n>>k;
if(n>=k)
{
n%=k;
}
cout<<min(n,k-n);
return 0;
}
U595148 落落的去倒油
得分:0
应得:100
考点:模拟
错误原因:没写(QAQ )
正确思路:模拟过程
代码:
#include<bits/stdc++.h>
#define int long long
#define endl '\n'
using namespace std;
int n;
double a[2000005],y[2000005];
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
sort(a+1,a+n+1);
for(int i=1;i<=n;i++)
{
y[i]=a[i]/(i*1.0);
if(y[i]>1.0)
{
cout<<-1;
return 0;
}
}
sort(y+1,y+n+1);
cout<<y[1];
return 0;
}
T643724 落落的去去扫雷
得分:0
应得:100
考点:模拟
错误原因:没写(QAQ )
正确思路:发现有3 种情况:
1.cout<<0;
2.cout<<1;
3.cout<<2;
因此判断+模拟
代码:
#include<bits/stdc++.h>
#define int long long
#define endl '\n'
using namespace std;
const int maxn=1e4+10;
int n,ans,b[maxn],a[maxn];
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>b[i];
}
for(int t=0;t<2;t++)
{
a[1]=t;
a[2]=b[1]-a[1];
if(a[2]<0 || a[2]>1)
{
continue;
}
int i;
for(i=2;i<n;i++)
{
a[i+1]=b[i]-a[i-1]-a[i];
if(a[i+1]<0||a[i+1]>1)
{
break;
}
}
if(i<n)
{
continue;
}
if(a[n-1]+a[n]==b[n])
{
ans++;
}
}
cout<<ans;
return 0;
}