洛谷12月写题1月末复盘(二)

简介: 洛谷12月写题1月末复盘

P1914 小书童——凯撒密码 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

题目不难,但是有陷阱

21.1.png

P2705 小球 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

题目不难。就是有点迷惑人


21.2.png

21.2.png

P2907 [USACO08OPEN]Roads Around The Farm S - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

21.3.png

列方程是个好方法

image.png

注意要求的是多少,不是多少头

#include<iostream>
using namespace std;
int ans=1,n,k;
void fl(int a)//a为当前牛群所含牛的数目
{
  int x,y;//x,y为分裂成两群之后的所含牛的数目
  if((a+k)%2!=0)
    {
    return;//递归终止条件
  }
  else{
    x=(a+k)/2;
    y=a-x;
    if(x<=0||x>=a||y<=0||y>=a)
        {
      return;
    }
    ans++;
    fl(x);//分开的两群,分别判断
    fl(y);
  }
}
int main(){
  cin>>n>>k;
  fl(n);
  cout<<ans;
  return 0;
}

P5725 【深基4.习8】求三角形 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

这个题,一定要自己写一遍

⭐⭐⭐如果不会,不要看题解 ,看我自己的提交记录

洛谷ID:OginoChihiro

P6443 [COCI2010-2011#1] TIMSKO - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

细节满满的一道题  

21.4.png

21.5.png

剩余的人去实习

#include<iostream>
using namespace std;
int main()
{
  int n,m,k,ans=0;
  cin>>n>>m>>k;//n是女生人数,m是男生人数 
  for(int i=0;i<=(n+m-k)/3;i++)//组成队伍最大不超过剩余人数的三分之一 
  {
    int boy=m-i;//组成i个队伍,剩下男生人数 
    int girl=n-2*i;//组成i个队伍,剩下女生人数 
    if(boy+girl>=k&&boy>=0&&girl>=0)
            ans=i;//如果满足条件,则更新ans 
  }
  cout<<ans;
  return 0;
 } 

P6685 可持久化动态仙人掌的直径问题 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

21.6.png

好(doge)一道签到题

注意数据范围,暴力枚举会爆掉

🍔方法一

21.7.png

#include<bits/stdc++.h>
int n,m;
int main()
{
    scanf("%d%d",&n,&m);
    for(int i=1;;i++)
    {
        if(pow(i,m)>n)
        {
            printf("%d",i-1);
            return 0;
        }
    }
    return 0;
}

🍔方法二(必对)

image.png

#include<bits/stdc++.h>
int n,m;
int main()
{
    scanf("%d%d",&n,&m);
    printf("%.0f",pow(n,1.0/m));
    return 0;
}

🍔 方法三(必对)


居然还能用二分写!!!

image.png

#include<bits/stdc++.h>
int n,m,l=1,r,mid;
int main()
{
    scanf("%d%d",&n,&m);
    r=n;
    while(l<=r)
    {
        mid=(l+r)>>1;
        if(pow(mid,m)<=n)l=mid+1; // 与上述同理,pow 函数的精度在 10^9 范围内可以接受
        else r=mid-1;
    }
    printf("%d",r);
    return 0;
}

 P6866 [COCI2019-2020#5] Emacs - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

21.8.png

要找长方形其实只用看顶点,如果一个点的上面和左边都是“.”,那么这个点就一定是某个长方形的左上顶点(妙)


同时把输入矩阵的周围都打成“.”,可以避免边界问题

#include <bits/stdc++.h>
using namespace std;
int main() 
{
  int i,j,n,m,cnt=0;
  char a[105][105];
  cin>>n>>m;
  for(i=0;i<=n+1;i++)
    {
    for(j=0;j<=m+1;j++)
        {
      if(i==0||j==0||i==n+1||j==m+1){//围出边界
        a[i][j]='.';
      }
    }
  }
  for(i=1;i<=n;i++){
    for(j=1;j<=m;j++){
      cin>>a[i][j];
    }
  }
  for(i=1;i<=n;i++)
    {
    for(j=1;j<=m;j++)
        {
        if(a[i-1][j]=='.'&&a[i][j-1]=='.'&&a[i][j]=='*')
            {
          cnt++;//统计
      }
    }
  }
  cout<<cnt;
    return 0;
}

 P8611 [蓝桥杯 2014 省 AB] 蚂蚁感冒 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

21.9.png

这个题y总有视频讲解


1211. 蚂蚁感冒 - AcWing题库

21.png

🏳️‍🌈🏳️‍🌈🏳️‍🌈🏳️‍🌈🏳️‍🌈🏳️‍🌈

Code over!

相关文章
|
存储 人工智能 算法
【2021年蓝桥省赛真题】赛前最后冲刺,省一我来啦
【2021年蓝桥省赛真题】赛前最后冲刺,省一我来啦
338 0
|
缓存 JavaScript 程序员
786.【复盘】每周复盘-第十四周
786.【复盘】每周复盘-第十四周
|
程序员
766.每周复盘-第十一周
766.每周复盘-第十一周
|
程序员
795.【复盘】每周复盘-第十五周
795.【复盘】每周复盘-第十五周
|
程序员 Python
800.【复盘】每周复盘-第十六周
800.【复盘】每周复盘-第十六周
|
缓存 程序员
780.【复盘】每周复盘-第十三周
780.【复盘】每周复盘-第十三周
|
程序员
811.【复盘】每周复盘-第十七周
811.【复盘】每周复盘-第十七周
|
程序员
773.每周复盘-第十二周
773.每周复盘-第十二周
102 0
|
算法 程序员
【红海游戏】第 281 场力扣周赛复盘
【红海游戏】第 281 场力扣周赛复盘
【红海游戏】第 281 场力扣周赛复盘