P1146 硬币翻转

题目描述

在桌面上有一排硬币,共NN枚,每一枚硬币均为正面朝上。现在要把所有的硬币翻转成反面朝上,规则是每次可翻转任意N-1N−1枚硬币(正面向上的被翻转为反面向上,反之亦然)。求一个最短的操作序列(将每次翻转N-1枚硬币成为一次操作)。

输入格式

一个自然数NN(NN为不大于100100的偶数)。

输出格式

第一行包含一个整数SS,表示最少需要的操作次数。接下来的SS行每行分别表示每次操作后桌上硬币的状态(一行包含NN个整数(00或11),表示每个硬币的状态:00――正面向上,和11――反面向上,不允许出现多余空格)。

对于有多种操作方案的情况,则只需操作的字典序最小输出一种。

注:操作的字典序:对于一次操作,1表示翻转,0表示不反转。

但是需要你输出的是每一次操作完的状态,0表示正面朝上,1表示反面朝上。

输入输出样例

输入 #1复制

4

输出 #1复制

4
0111
1100
0001
1111

package com.kk.luogu;import java.util.Scanner;public class P1146 {public static void main(String[] args) {Scanner in = new Scanner(System.in);int n = in.nextInt();System.out.println(n);new P1146().handleInput(n);}public void handleInput(int n) { //最好使用void类型int[] a = new int[100005];for (int i = 1; i <= n; i++) {for (int j = 1; j <= n; j++) {if (j != i) {//只执行一次if (a[j] == 1) {a[j] = 0;} else {a[j] = 1;}}System.out.print(a[j]);}System.out.println();}}
}

洛谷——P1146 硬币翻转相关推荐

  1. 洛谷 洛谷 P2708 硬币翻转(高端算法)

    //DAY3.B //题源:洛谷 P2708 硬币翻转 //原题链接:https://www.luogu.com.cn/problem/P2708 #include<stdio.h> #i ...

  2. 洛谷1146 硬币翻转

    题目描述 在桌面上有一排硬币,共NN枚,每一枚硬币均为正面朝上.现在要把所有的硬币翻转成反面朝上,规则是每次可翻转任意N-1N−1枚硬币(正面向上的被翻转为反面向上,反之亦然).求一个最短的操作序列( ...

  3. 洛谷 P2708 硬币翻转

    P2708 硬币翻转 时间限制1.00s 内存限制125.00MB 题目描述 从前有很多个硬币摆在一行,有正面朝上的,也有背面朝上的.正面朝上的用1表示,背面朝上的用0表示.现在要求从这行的第一个硬币 ...

  4. 洛谷——P2708 硬币翻转

    https://www.luogu.org/problem/show?pid=2708#sub 题目背景 难度系数:☆☆☆☆☆(如果你看懂了) 题目描述 从前有很多个硬币摆在一行,有正面朝上的,也有背 ...

  5. 洛谷 P2708 硬币翻转 题解

    题目传送门 真如题面所说,难度系数:☆☆☆☆☆(如果你看懂了). 从后往前扫一次,如果a[i]==0&&a[i-1]==1那么将ans+2. 注意最后不要忘记开头if(a[0]=='0 ...

  6. P1146 硬币翻转 python题解

    一直都听石佬强推洛谷,说上面的讨论氛围很好.今天试了一下,花了一个小时左右,完成了自己的第一道题.借鉴了大佬的题解思路,理解的同时,自己用python完成了一份,下图是第一个ac,小小记录一下嘿嘿嘿. ...

  7. 洛谷 P2001 硬币的面值 题解

    原题链接 P2001 硬币的面值 - 洛谷 | 计算机科学教育新生态 题目描述 小A有 n n n 枚硬币,现在要买一样不超过 m m m 元的商品,他不想得到找钱(多脏啊),同时又不想带太多的硬币, ...

  8. 令人迷惑的硬币翻转(洛谷P1146题题解,Java语言描述)

    题目要求 P1146题目链接 分析 这题做起来真是人间迷惑行为-- 这题的题意另管理员dalao都吐槽过,简直了,不过后来好像改了改表述-- 我们来看一下这个题: 翻N-1枚硬币,就是每次有一枚硬币没 ...

  9. 洛谷 [P2964] 硬币的游戏

    博弈论+dp 依旧是博弈论的壳子,但问的是最大值,所以要dp 设 dp[i][j] 表示该取 i 号硬币,上一次取了 j 个的先手能取的最大值, 因为每次从小到大枚举复杂度太高,所以我们要从 dp[i ...

最新文章

  1. node mysql 模块化_Node.js 模块系统
  2. 离散型随机变量的分布律
  3. 英伟达开源自动驾驶AI算法,升级芯片性能7倍于Xavier
  4. java地铁线路规划_地铁线路规划——简单分析
  5. CCNA重点难点:思科交换机生成树配置
  6. 【MFC】创建第一个MFC界面项目
  7. 如何找到某个 ABAP structure 某字段的源头来自哪个数据库表
  8. 流式处理和批处理的区别
  9. ip地址与整数的相互转化
  10. MySQL搭建主从(一主一从)
  11. 根据年、月、周、日设置时间节点的日期工具类
  12. FS4054单节锂电池充电管理芯片,IC电路图
  13. bilibili怎么用用户名登录_b站账号(bilibili免费账号密码)
  14. 【mean teacher】RuntimeError: Integer division of tensors using div or / is no longer suppor的解决
  15. seo软文标题写作技巧:好的标题是靠这样想出来的
  16. libero soc 仿真74HC161
  17. python监听鼠标键盘_python用pynput监听控制键盘鼠标
  18. Wifi测速上下行不一致
  19. python 使用多个elif代码块 计算阶梯电费
  20. proteus仿真arduino控制舵机

热门文章

  1. 转: SVN和Git的一些用法总结
  2. 继承(引用~析构~virtual)
  3. POJ 2891 Strange Way to Express Integers ★ (扩展欧几里德解同余式组)
  4. 各j2ee web层框架比较(转)
  5. Windows电脑无法上网排错思路
  6. 11 种方法教你用 Python 高效下载资源
  7. 【Hive】条件函数
  8. 【Oracle】管理还原数据(undo)
  9. 【Oracle】创建概要文件
  10. 谷歌拼音输入法快速切换中英文解决中英文混合打字问题