Codeforces Round #190 (Div. 2) A B C

A:  题意: n个男孩和m个女孩组队跳舞 ,对于(i,j)这一对,i和j至少有一个人是第一次跳,问最多多少组 。

           对于任意一个女孩,他们都可以和其中一个男孩组队,然后对于其中的一个女孩,又可以和剩下的男孩组队,

  

B.题意:有r朵红花,g朵绿花,b朵蓝花,有四组不同的组合方式,问一共最多多少组。

          我的想法比较麻烦,分别是三种花都1.先按自己三朵组合,然后再一种出一朵的组合,

                                                                         2.先任两种花按自己是三朵组合,然后整体按一种出一朵的组合,然后看第三种花有没有按自己三种的组合

                                                                         3.先任一种花按自己三朵的组合

                                                                       4.没有花先按自己三朵的组合


#include<iostream>
#include<stdio.h>
#include<string.h>
#include<string>
#include<math.h>
#include<map>
#include<vector>
#include<queue>
#include<stack>
#include<algorithm>
using namespace std;
int r,g,b;
int main()
{
    while(cin>>r>>g>>b)
    {
        int sum123=r/3+g/3+b/3+min(r%3,min(g%3,b%3));
        int sum12=r/3+g/3+min(r%3,min(g%3,b))+(b-min(r%3,min(g%3,b)))/3;
        int sum13=r/3+b/3+min(r%3,min(b%3,g))+(g-min(r%3,min(b%3,g)))/3;
        int sum23=g/3+b/3+min(r,min(b%3,g%3))+(r-min(r,min(b%3,g%3)))/3;
        int sum1=r/3+min(r%3,min(b,g))+(b-min(r%3,min(b,g)))/3+(g-min(r%3,min(b,g)))/3;
        int sum2=b/3+min(r,min(b%3,g))+(r-min(r,min(b%3,g)))/3+(g-min(r,min(b%3,g)))/3;
        int sum3=g/3+min(r,min(b,g%3))+(b-min(r,min(b,g%3)))/3+(r-min(r,min(b,g%3)))/3;
        int sum=min(r,min(g,b))+(r-min(r,min(g,b)))/3+(b-min(r,min(g,b)))/3+(g-min(r,min(g,b)))/3;
        int ans=max(sum1,sum2);
        ans=max(ans,sum3);
        ans=max(ans,sum12);
        ans=max(ans,sum23);
        ans=max(ans,sum13);
        ans=max(ans,sum123);
        ans=max(ans,sum);
        cout<<ans<<endl;
    }
}



C:初始位置在(0,0),然后给你一组操作,这组操作可以被循环,问是否可以到目的位置


先找出一组操作结束后,位置的变化,

然后再从头开始,发现中间某一步和目标位置的差距是第一步中求出的变化的自然数倍,就YES;


#include<iostream>
#include<stdio.h>
#include<string.h>
#include<string>
#include<math.h>
#include<map>
#include<vector>
#include<queue>
#include<stack>
#include<algorithm>
using namespace std;
int r,g;
char s[110];
int main()
{
    while(cin>>r>>g)
    {
        cin>>s;
        int x=0;
        int y=0;
        int flag=0;
        for(int i=0;s[i]&&flag==0;i++)
        {
            if(x==r&&y==g)
            {
                flag=1;
            }
            if(s[i]=='U') y++;
            if(s[i]=='D') y--;
            if(s[i]=='L') x--;
            if(s[i]=='R') x++;
            if(x==r&&y==g)
            {
                flag=1;
            }
        }
        if(!flag)
        {
            int a=0,b=0;
            for(int i=0;s[i]&&!flag;i++)
            {
                if(s[i]=='U') b++;
                if(s[i]=='D') b--;
                if(s[i]=='L') a--;
                if(s[i]=='R') a++;
                if(x==0&&y==0)
                {
                    if(a==r&&b==g)
                    {
                        flag=1;
                    }
                }
                else if(x==0&&y!=0)
                {
                    if(a==r&&(g-b)%y==0&&(g-b)/y>=0)//记得都要判断商是不是自然数
                    {
                        flag=1;
                    }
                }
                else if(y==0&&x!=0)
                {
                    if(b==g&&(r-a)%x==0&&(r-a)/x>=0)
                    {
                        flag=1;
                    }
                }
                else
                {
                    if((g-b)%y==0&&(r-a)%x==0&&(g-b)/y==(r-a)/x&&(r-a)/x>=0)
                    {
                        flag=1;
                    }
                }
            }
        }
        printf("%s\n",flag?"Yes":"No");
    }
    return 0;
}


Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值