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

    你可能感兴趣的文章
    ORACEL学习--理解over()函数
    查看>>
    ORACLE Bug 4431215 引发的血案—原因分析篇
    查看>>
    oracle dblink结合同义词的用法 PLS-00352:无法访问另一数据库
    查看>>
    Oracle dbms_job.submit参数错误导致问题(ora-12011 无法执行1作业)
    查看>>
    oracle dg switchover,DG Switchover fails
    查看>>
    Oracle EBS环境下查找数据源(OAF篇)
    查看>>
    Oracle GoldenGate Director安装和配置(无图)
    查看>>
    oracle script
    查看>>
    Oracle SOA Suit Adapter
    查看>>
    Oracle Spatial空间数据库建立
    查看>>
    UML— 活动图
    查看>>
    Oracle Statspack分析报告详解(一)
    查看>>
    oracle 使用leading, use_nl, rownum调优
    查看>>
    Oracle 写存储过程的一个模板还有一些基本的知识点
    查看>>
    Oracle 创建 DBLink 的方法
    查看>>
    oracle 创建字段自增长——两种实现方式汇总
    查看>>
    Oracle 升级10.2.0.5.4 OPatch 报错Patch 12419392 Optional component(s) missing 解决方法
    查看>>
    oracle 可传输的表空间:rman
    查看>>
    Oracle 启动监听命令
    查看>>
    oracle 学习
    查看>>