自学内容网 自学内容网

D-迷恋网游(遇到过的题,做个笔记)

我的代码:

#include <iostream>
using namespace std;
int main()
{
int a, b, c;//a表示内向,b表示外向,c表示无所谓
cin >> a >> b >> c;//读入数
if (b % 3 == 0 || 3-b % 3 <= c)//如果外向的人能够3人组成若干组,或者剩下的外向人有人与其配对
{
cout << a + (b + c) / 3 + (((b + c) % 3) ? 1 : 0) << endl;
//满足条件的话,将b和c看成一类,如果对3取余有数,则宿舍再加1
}
else cout << -1 << endl;//这种情况是,剩下1个外向人,但c只有1个或0个||剩下2外向人,但c只有0个
return 0;
}

以前写的代码:

#include <iostream>
using namespace std;
int main()
{
int a,b,c;
cin>>a>>b>>c;
int sum=a;
sum+=b/3;
b%=3;
if(b==2)
{
if(c>=1)
{
sum++;
c-=1;
sum+=c/3;
if(c%3>0)
{
sum++;
}
}else{
cout<<"-1"<<endl;
return 0;
}
 } 
 else if(b==1)
 {
 if(c>=2)
 {
 sum++;
 c-=2;
 sum+=c/3;
 if(c%3>0)
{
sum++;
}
 }else{
 cout<<"-1"<<endl;
 return 0;
 }
 }else{
 sum+=c/3;
 if(c%3>0)
 {
 sum++;
 }
 }
cout<<sum<<endl;
return 0;
} 

参考(来自本人学长给的题解):


原文地址:https://blog.csdn.net/Dear_JIANJIAN/article/details/137290725

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!