21天好习惯第一期—7

牛客小白月赛39 

1.A—憧憬

题解:数学题目,详细见代码。

21天好习惯第一期—7

AC代码如下:

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    cin>>n;
    int a[n][4];
    for(int i=0;i<n;i++)
    {
        cin>>a[i][0]>>a[i][1]>>a[i][2]>>a[i][3];
    }
    int x1,x2,y1,y2;
    cin>>x1>>y1>>x2>>y2;
    int x11=x2-x1,y11=y2-y1;
    for(int i=0;i<n-1;i++)
    {  
        for(int j=i+1;j<n;j++)
        {
            int x=a[j][0]-a[i][2],y=a[j][1]-a[i][3];
            int x22=a[j][2]-x-a[i][0];
            int y22=a[j][3]-y-a[i][1];
            if(y22*x11==y11*x22)
            {
                cout<<"YES"<<endl;
               return 0;
            }
        }
    }
    cout<<"NO"<<endl;
    return 0;
}

 2.B—欢欣

题意:给一个字符串要求查找第一个QAQ这个字符串的位置,直接一个find查找。

21天好习惯第一期—7

AC代码如下:

#include <bits/stdc++.h>
using namespace std;
int main()
{
    string s;
    cin>>s;
    cout<<s.find("QAQ")+1<<endl;
}

 3.E—迷惘

21天好习惯第一期—7

AC代码如下:

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int n;
   long long sum=0;
    cin>>n;
    while(n--)
    {
        int a;
        cin>>a;
        int cnt=0,k[40];
        while(a)
        {
            k[cnt]=a%2;
            a>>=1;
            cnt++;
        }
        int i;
       for(i=0;i<cnt;i++)
       {
           if(k[i]!=0)
               break;
       }
       long long y=0;
        for(int j=i;j<cnt;j++)
        {
            y=y*2+k[j];
        }
        sum+=y;
    }
    cout<<sum<<endl;
}

 

上一篇:【C++ 一本通】2060:【例1.1】计算机输出


下一篇:C++求最大公约数,检查回文,输出素数