当前位置: 首页 > article >正文

日结(3.26

A - Super Ryuma

 AtCoder - abc184_c 

 

思路:根据题设,我们能从初始点跳往横纵坐标绝对值和小于3的点或横纵坐标移动坐标绝对值相同的点,所以按规则来说到达任意点最多步数为3步,第一步可到位置如图,第二步可到绝对值和小于六的坐标点以及两点的坐标差的和为偶数的点,大于六且为奇则要走三步

#include<iostream>
#include<cstring>
#include<string.h>
#include<cstdio>
#include <string>
#include<math.h>
using namespace std;
int main()
{
    long long int r1,r2;
   long long  int r3,r4;
    cin>>r1>>r2;
    cin>>r3>>r4;
    //printf("%lld\n",abs(r1-r3)+fabs(r2-r4));
    if(r1==r3&&r2==r4)cout<<"0"<<endl;

    else if((abs(r1-r3)+abs(r2-r4)<=3)||(abs(r1-r3)==abs(r2-r4)))cout<<"1"<<endl;
    else if(abs(r1-r3)+abs(r2-r4)<=6)cout<<"2"<<endl;
    else{
        int a1=abs(r1-r3),a2=abs(r2-r4);
        if(a1<a2){a2-=a1;a1=0;if(a2<=3)cout<<"2"<<endl;
        else {
            if(a2%2==1)cout<<"3"<<endl;
            else cout<<"2"<<endl;
        }



        }
        else {a1-=a2;a2=0;if(a1<=3)cout<<"2"<<endl;
         else {
            if(a1%2==1)cout<<"3"<<endl;
            else cout<<"2"<<endl;
        }


        }
    }


}

抽象:

因为多态的存在,子类都可以覆写父类的方法

如果父类的方法本身不需要实现任何功能,仅仅是为了定义方法,目的是让子类去覆写它,那么,可以把父类的方法声明为抽象方法

abstract,表示一个抽象方法

因为抽象方法无法执行,所以不能在类实例化,不过可以使用抽象类实力

抽象类只能被设计来继承它,让子类覆写其方法,起到一种规范作用

 接口:纯抽象方法,无字段出现,则可以使用interface可以声明一个接口

方法默认都是public abstract

当一个具体的class去实现一个interface时,需要使用implements关键字

不同于继承,一个类可以有多个接口只要在class  类 implenments 接口名,接口名,接口名

 接口之间也可以继承   向上转型

同时接口也可以定义default方法,在子类中不必覆写此方法,但接口不能有字段故

default方法和抽象类的普通方法是有所不同的。因为interface没有字段,default方法无法访问字段,而抽象类的普通方法可以访问实例字段。

静态字段:

是用static修饰的字段,叫静态字段:static field

实例字段在每个实例中都有自己的一个独立“空间”,但是静态字段只有一个共享“空间”,所有实例都会共享该字段

即无论修改哪一个实力的静态字段,其都会更改

静态方法

有静态字段,就有静态方法。用static修饰的方法称为静态方法。

调用实例方法必须通过一个实例变量,而调用静态方法则不需要实例变量,通过类名就可以调用。

ru: person.run();

同时:

因为interface是一个纯抽象类,所以它不能定义实例字段。但是,interface是可以有静态字段的,并且静态字段必须为final类型:

字段只能是public static final类型,因为只能是改类型,所以可以不写修饰符默认是此类型

 类五大成员:类,属性,方法,作用域,内部类


http://www.kler.cn/a/5979.html

相关文章:

  • Google Play开发者账号的高风险行为解析
  • spring mvc源码学习笔记之九
  • C语言基本知识复习浓缩版:标识符、函数、进制、数据类型
  • AI赋能R-Meta分析核心技术:从热点挖掘到高级模型、助力高效科研与论文发表
  • Qt 5.14.2 学习记录 —— 오 信号与槽机制(2)
  • 06-RabbitMQ基础
  • 基于chatGPT插件开发
  • C的实用笔记36——几种常用的字符串处理API(一)
  • 当营养遇上肠道菌群:探究其对儿童健康的影响
  • STM32基于STM32CubeMX硬件I2C驱动MPU6050读取数据
  • vue尚品汇商城项目-day01【6.Footer组件的显示与隐藏】
  • C++基础学习笔记(六)——提高编程PART1
  • Lamda表达式
  • 减肥注意事项
  • 对于Redis的学习-Redis的数据结构
  • 【Go进阶】一篇文章带你了解 — 方法
  • 信息系统项目管理师第四版知识摘编:第17章 项目干系人管理​
  • PCB模块化设计14——MIPI模块PCB布局布线设计规范
  • rhel8/CentOS8/7 系统yum安装出现“未找到匹配的参数”、“没有可用软件包”错误的解决办法
  • ab性能测试工具的安装与使用
  • 留言板系统的设计与实现_kaic
  • 一文解析RISC-V SiFive U54内核——中断和异常
  • C#,初学琼林(06)——幂的常规算法与递归算法、模幂(幂模)的快速算法及其C#源程序
  • MySQL实战45讲——07|行锁功过:怎么减少行锁对性能的影响
  • Linux:磁盘管理
  • 一位程序员将一款开源工具变成了价值75亿美元的帝国