两只多姆牛,模拟

#include
using namespace std;
char mp[11][11];
int xa,ya,xb,yb;
int lxa,lya,lxb,lyb;
int fa = 1,fb = 1;
int ans = 0;

void yda(){
    if(fa==1){//北
        lxa = xa - 1;
        lya = ya;
    }
    if(fa==2){//东
        lxa = xa;
        lya = ya + 1;
    }
    if(fa==3){//南
        lxa = xa+1;
        lya = ya ;
    }
    if(fa==4){//西
        lxa = xa;
        lya = ya - 1;
    }
if(lxa>=1 && lya >=1 && lya<=10 && lxa <= 10&& mp[lxa][lya] == '.'){
        xa = lxa;
        ya = lya;
    }else{
        fa++;//方向改变
if(fa>4){
            fa = 1;
        }
    }
}
void ydb(){
    //平移区
    if ( fb == 1 ){
        lxb = xb - 1 ;
        lyb = yb ;
    }
    if ( fb == 2 ){
        lxb = xb ;
        lyb = yb + 1 ;
    }
    if ( fb == 3 ){
        lxb = xb + 1 ;
        lyb = yb ;
    }
    if ( fb == 4 ){
        lxb = xb ;
        lyb = yb - 1 ;
    }
    //判定区:
if ( lxb >= 1 && lyb >= 1 && lyb <= 10 && lxb <= 10 && mp[lxb][lyb] == '.' ){
        xb = lxb ;
        yb = lyb ;
    }
    else{
        fb++ ;
if ( fb > 4 ){
            fb = 1 ;
        }
    }
}
int main(){
    for(int i = 1;i<=10;i++){
        for(int j = 1;j<=10;j++){
cin >> mp[i][j];
            if(mp[i][j]=='F'){
                xa=i;
                ya=j;
                mp[i][j] = '.';
            }
            if(mp[i][j]=='C'){
                xb=i;
                yb=j;
                mp[i][j] = '.';
            }
        }
    }
    while(1){
        yda();
        ydb();
        ans++;
if(ans>1000){
            cout<<0;
            return 0;
        }
        if(xa==xb&&ya==yb){
            cout<            return 0;
        }
    }
}
全部评论

相关推荐

2024-12-30 14:34
哈尔滨理工大学 C++
#include&nbsp;&quot;bits/stdc++.h&quot;using&nbsp;namespace&nbsp;std;enum&nbsp;CPU_Rank{P1&nbsp;=&nbsp;1,P2,P3,P4,P5,P6,P7};class&nbsp;CPU&nbsp;{public:&nbsp;&nbsp;&nbsp;&nbsp;CPU(CPU_Rank&nbsp;rank,int&nbsp;frequency,float&nbsp;voltnumber)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;rank(rank),frequency(frequency),voltnumber(voltnumber){//初始化列表&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;~CPU()&nbsp;{//析构函数&nbsp;清理对象资源,销毁对象&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;run(){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;stop(){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}private://私有成员&nbsp;&nbsp;&nbsp;&nbsp;CPU_Rank&nbsp;rank;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;frequency;&nbsp;&nbsp;&nbsp;&nbsp;float&nbsp;voltnumber;};int&nbsp;main(){&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;rank,&nbsp;frequency;&nbsp;&nbsp;&nbsp;&nbsp;float&nbsp;voltnumber; cin >> rank >> frequency >>&nbsp;voltnumber;&nbsp;&nbsp;&nbsp;&nbsp;CPU&nbsp;cpu((CPU_Rank)rank,frequency,voltnumber);//&nbsp;将整数转换为&nbsp;CPU_Rank&nbsp;类型&nbsp;&nbsp;&nbsp;&nbsp;cpu.run();&nbsp;&nbsp;&nbsp;&nbsp;cpu.stop();&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;对象销毁时,析构函数自动调用&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0;}
点赞 评论 收藏
分享
2024-12-30 14:39
哈尔滨理工大学 C++
#include #include #include &nbsp;&nbsp;//&nbsp;用于排序using&nbsp;namespace&nbsp;std;//&nbsp;定义学生结构体struct&nbsp;Student&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;name;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;姓名&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;programming;&nbsp;&nbsp;&nbsp;//&nbsp;编程成绩&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;math;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;数学成绩&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;english;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;英语成绩&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;计算总分&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;totalScore()&nbsp;const&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;programming&nbsp;+&nbsp;math&nbsp;+&nbsp;english;&nbsp;&nbsp;&nbsp;&nbsp;}};//&nbsp;自定义排序规则bool&nbsp;compareStudents(const&nbsp;Student&nbsp;&amp;a,&nbsp;const&nbsp;Student&nbsp;&amp;b)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(a.totalScore()&nbsp;!=&nbsp;b.totalScore())&nbsp;{ return a.totalScore() >&nbsp;b.totalScore();&nbsp;&nbsp;//&nbsp;按总分从高到低排序&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;a.name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}}int&nbsp;main()&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;n; cin >>&nbsp;n;&nbsp;&nbsp;//&nbsp;读取学生数量&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;定义学生数组&nbsp;&nbsp;&nbsp;&nbsp;Student&nbsp;students[n];&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;读取每个学生的信息&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(int&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp; cin >> students[i].name >> students[i].programming >> students[i].math >>&nbsp;students[i].english;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;对学生数组进行排序&nbsp;&nbsp;&nbsp;&nbsp;sort(students,&nbsp;students&nbsp;+&nbsp;n,&nbsp;compareStudents);&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;输出排序后的学生姓名和总分&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(int&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0;}
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客企业服务