⚡zhangjingcan⚡ @ 2020-04-02 13:30:08
#include<bits/stdc++.h>
using namespace std;
int main(int argc, char** argv){
ios::sync_with_stdio(false);
int n;
cin>>n;
if(n==0)cout<<"0 0 0\n";
else if(n>0&&n<3)cout<<"-1\n";
else {
for(int i=n/14;i>=0;i--){
for(int j=i;j<=n/4;j++){
for(int k=j;k<=n/3;k++){
if(i*7+j*4+k*3==n){
cout<<i<<" "<<j<<" "<<k<<"\n";
return 0;
}
}
}
}
}
cout<<"-1\n";
return 0;
}
为什么85分?
by bovine__kebi @ 2020-04-02 14:00:32
Wa?还是TLE?
by bovine__kebi @ 2020-04-02 14:02:53
@zhangjingcan
by cmaths @ 2020-04-02 14:09:50
@bovine__kebi WA
by ⚡zhangjingcan⚡ @ 2020-04-02 18:36:45
@bovine__kebi WA
by 微笑的坏坏 @ 2020-04-11 08:31:22
@zhangjingcan 您好,请注意您代码的以下片段:
for(int i=n/14;i>=0;i--){
for(int j=i;j<=n/4;j++){
for(int k=j;k<=n/3;k++){
实际上,应该是:
for(int i=n/14;i>=0;i--){
for(int j=i;j<=n/4;j++){
for(int k=i;k<=n/3;k++){
k与j都是和i对齐的。
by ⚡zhangjingcan⚡ @ 2020-04-11 10:52:42
@微笑的坏坏
#include<bits/stdc++.h>
using namespace std;
int main(int argc, char** argv){
ios::sync_with_stdio(false);
int n;
cin>>n;
if(n==0)cout<<"0 0 0\n";
else {
for(int i=n/14;i>=0;i--){
for(int j=i;j<=n/4;j++){
for(int k=i;k<=n/3;k++){
if(i*7+j*4+k*3==n){
cout<<i<<" "<<j<<" "<<k<<"\n";
return 0;
}
}
}
}
}
cout<<"-1\n";
return 0;
}
by ⚡zhangjingcan⚡ @ 2020-04-11 10:53:09
这样就95分了,错了第一个点
by 微笑的坏坏 @ 2020-04-11 11:09:14
那就不太清楚了
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
for(int i=n/14;i>=0;i--)
{
for(int j=i;j<=n/4;j++)
{
for(int k=i;k<=n/3;k++)
{
if(i*7+4*j+3*k==n)
{
cout<<i<<' '<<j<<' '<<k<<endl;
return 0;
}
}
}
}
cout<<-1<<endl;
return 0;
}
这是我的代码,可以看看
by 微笑的坏坏 @ 2020-04-11 11:09:28
@zhangjingcan
by ⚡zhangjingcan⚡ @ 2020-04-11 11:35:07
@微笑的坏坏 谢谢