博客
关于我
CodeForces - 545A Toy Cars
阅读量:638 次
发布时间:2019-03-14

本文共 1705 字,大约阅读时间需要 5 分钟。

需要找出所有在碰撞中没有翻转的车,并通过矩阵来确定每辆车的状态。为了高效解决这个问题,首先遍历矩阵中的每一个元素,根据条件判断每辆车是否翻转。然后按照条件记录所有好的车。最后,将这些车按顺序输出。

步骤解析:

  • 读取输入:获取输入数据,包括n和矩阵A。
  • 初始化结果数组:创建一个数组来记录每辆车的状态。
  • 遍历矩阵:逐个检查矩阵中的每个元素。
    • 对于A[i][j] = 0:双方均未翻转,两人皆为好车。
    • 对于A[i][j] = 1:i翻转,另一人好车。
    • 对于A[i][j] = 2:j翻转,i为好车。
    • 对于A[i][j] = 3:双方皆翻转,双方为好车。
  • 统计并输出结果:收集所有好车的索引,按照顺序输出数量和索引列表。
  • 代码示例:

    #include 
    int main() { int n; scanf("%d", &n); int a[1001][1001]; for (int i = 1; i <= n; ++i) { scanf("%d %d %d", &a[i][1], &a[i][2], &a[i][3]); } int good[1001]; int count = 0; for (int i = 1; i <= n; ++i) { for (int j = 1; j <= n; ++j) { if (i == j) continue; if (a[i][j] == 0) { good[i] = 1; good[j] = 1; count += 2; } else if (a[i][j] == 1) { good[i] = 1; count += 1; } else if (a[i][j] == 2) { good[j] = 1; count += 1; } else if (a[i][j] == 3) { good[i] = 1; good[j] = 1; count += 2; } } } int result_count = 0; for (int i = 1; i <= n; ++i) { if (good[i]) { result_count++; } } if (result_count == 0) { printf("0"); } else { printf("%d", result_count); printf(" "); for (int i = 1; i <= n; ++i) { if (good[i]) { printf("%d", i); if (i < n) printf(" "); } } } return 0;}

    代码解释:

    • 读取输入:首先读取n的值,然后读取每行的三个整数,存储在数组a中。
    • 初始化结果数组:good数组用于记录每辆车是否为好车,初始值为0。
    • 遍历每对i,j:
      • 如果i等于j,主对角线处理,但题目指出这些情况没有碰撞,所以跳过。
      • 根据矩阵中的不同值更新good数组。
    • 统计并输出结果:遍历good数组,统计好车数量并输出结果。

    通过以上步骤,可以高效地解决问题,找到所有在碰撞中没有被翻转的车,并按照要求输出结果。

    转载地址:http://ccxoz.baihongyu.com/

    你可能感兴趣的文章
    mysql5.7性能调优my.ini
    查看>>
    MySQL5.7新增Performance Schema表
    查看>>
    Mysql5.7深入学习 1.MySQL 5.7 中的新增功能
    查看>>
    Webpack 之 basic chunk graph
    查看>>
    Mysql5.7版本单机版my.cnf配置文件
    查看>>
    mysql5.7的安装和Navicat的安装
    查看>>
    mysql5.7示例数据库_Linux MySQL5.7多实例数据库配置
    查看>>
    Mysql8 数据库安装及主从配置 | Spring Cloud 2
    查看>>
    mysql8 配置文件配置group 问题 sql语句group不能使用报错解决 mysql8.X版本的my.cnf配置文件 my.cnf文件 能够使用的my.cnf配置文件
    查看>>
    MySQL8.0.29启动报错Different lower_case_table_names settings for server (‘0‘) and data dictionary (‘1‘)
    查看>>
    MYSQL8.0以上忘记root密码
    查看>>
    Mysql8.0以上重置初始密码的方法
    查看>>
    mysql8.0新特性-自增变量的持久化
    查看>>
    Mysql8.0注意url变更写法
    查看>>
    Mysql8.0的特性
    查看>>
    MySQL8修改密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
    查看>>
    MySQL8修改密码的方法
    查看>>
    Mysql8在Centos上安装后忘记root密码如何重新设置
    查看>>
    Mysql8在Windows上离线安装时忘记root密码
    查看>>
    MySQL8找不到my.ini配置文件以及报sql_mode=only_full_group_by解决方案
    查看>>