博客
关于我
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/

    你可能感兴趣的文章
    MySQL Xtrabackup 安装、备份、恢复
    查看>>
    mysql [Err] 1436 - Thread stack overrun: 129464 bytes used of a 286720 byte stack, and 160000 bytes
    查看>>
    MySQL _ MySQL常用操作
    查看>>
    MySQL – 导出数据成csv
    查看>>
    MySQL —— 在CentOS9下安装MySQL
    查看>>
    mysql 不区分大小写
    查看>>
    mysql 两列互转
    查看>>
    MySQL 中开启二进制日志(Binlog)
    查看>>
    MySQL 中文问题
    查看>>
    MySQL 中日志的面试题总结
    查看>>
    MySQL 中随机抽样:order by rand limit 的替代方案
    查看>>
    MySQL 为什么需要两阶段提交?
    查看>>
    mysql 为某个字段的值加前缀、去掉前缀
    查看>>
    mysql 主从 lock_mysql 主从同步权限mysql 行锁的实现
    查看>>
    mysql 主从互备份_mysql互为主从实战设置详解及自动化备份(Centos7.2)
    查看>>
    mysql 主键重复则覆盖_数据库主键不能重复
    查看>>
    Mysql 优化 or
    查看>>
    mysql 优化器 key_mysql – 选择*和查询优化器
    查看>>
    MySQL 优化:Explain 执行计划详解
    查看>>
    Mysql 会导致锁表的语法
    查看>>