CF1276A.As Simple as One and Two

普及/提高-

通过率:0%

时间限制:3.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You are given a non-empty string s=s1s2…sns=s_1s_2\dots s_n, which consists only of lowercase Latin letters. Polycarp does not like a string if it contains at least one string "one" or at least one string "two" (or both at the same time) as a substring. In other words, Polycarp does not like the string ss if there is an integer jj (1≤j≤n−21 \le j \le n-2), that sjsj+1sj+2=s_{j}s_{j+1}s_{j+2}="one" or sjsj+1sj+2=s_{j}s_{j+1}s_{j+2}="two".

For example:

  • Polycarp does not like strings "oneee", "ontwow", "twone" and "oneonetwo" (they all have at least one substring "one" or "two"),
  • Polycarp likes strings "oonnee", "twwwo" and "twnoe" (they have no substrings "one" and "two").

Polycarp wants to select a certain set of indices (positions) and remove all letters on these positions. All removals are made at the same time.

For example, if the string looks like s=s="onetwone", then if Polycarp selects two indices 33 and 66, then "onetwone" will be selected and the result is "ontwne".

What is the minimum number of indices (positions) that Polycarp needs to select to make the string liked? What should these positions be?

给你一个非空字符串 s=s1s2…sns=s_1s_2\dots s_n,该字符串仅由小写拉丁字母组成。如果字符串中至少包含一个子串 "one" 或 至少包含一个子串 "two"(或两者同时存在),则 Polycarp 不喜欢该字符串。换言之,若存在整数 jj(满足 1≤j≤n−21 \le j \le n-2),使得 sjsj+1sj+2=s_{j}s_{j+1}s_{j+2}="one" 或 sjsj+1sj+2=s_{j}s_{j+1}s_{j+2}="two",则 Polycarp 不喜欢字符串 ss。

例如:

  • Polycarp 不喜欢字符串 "oneee"、"ontwow"、"twone" 和 "oneonetwo"(它们均至少含有一个子串 "one" 或 "two");
  • Polycarp 喜欢字符串 "oonnee"、"twwwo" 和 "twnoe"(它们均不包含子串 "one" 和 "two")。

Polycarp 想选定一组下标(位置),并同时删除这些位置上的所有字符。

例如,若字符串为 s=s="onetwone",且 Polycarp 选定了下标 33 和 66,则从 "onetwone" 中删除对应字符后得到的结果为 "ontwne"。

问:Polycarp 至少需要选定多少个下标(位置)才能使字符串变为他所喜欢的?这些位置应是哪些?

输入格式

The first line of the input contains an integer tt (1≤t≤1041 \le t \le 10^4) — the number of test cases in the input. Next, the test cases are given.

Each test case consists of one non-empty string ss. Its length does not exceed 1.5⋅1051.5\cdot10^5. The string ss consists only of lowercase Latin letters.

It is guaranteed that the sum of lengths of all lines for all input data in the test does not exceed 1.5⋅1061.5\cdot10^6.

输入的第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4)—— 表示输入中测试用例的数量。接下来是各测试用例。

每个测试用例由一个非空字符串 ss 组成,其长度不超过 1.5⋅1051.5\cdot10^5。字符串 ss 仅由小写拉丁字母组成。

保证所有测试用例中字符串总长度之和不超过 1.5⋅1061.5\cdot10^6。

输出格式

Print an answer for each test case in the input in order of their appearance.

The first line of each answer should contain rr (0≤r≤∣s∣0 \le r \le |s|) — the required minimum number of positions to be removed, where ∣s∣|s| is the length of the given line. The second line of each answer should contain rr different integers — the indices themselves for removal in any order. Indices are numbered from left to right from 11 to the length of the string. If r=0r=0, then the second line can be skipped (or you can print empty). If there are several answers, print any of them.

按输入中测试用例出现的顺序,为每个测试用例输出一个答案。

每个答案的第一行应包含 rr(0≤r≤∣s∣0 \le r \le |s|)—— 所需删除的最少位置数,其中 ∣s∣|s| 是给定字符串的长度。
每个答案的第二行应包含 rr 个互不相同的整数 —— 待删除位置的下标(顺序任意)。下标从左到右编号,范围为 11 到字符串长度。
若 r=0r = 0,则可跳过第二行(或输出空行)。
若存在多个合法答案,输出任意一个即可。

输入输出样例

  • 输入#1

    4
    onetwone
    testme
    oneoneone
    twotwo

    输出#1

    2
    6 3
    0
    
    3
    4 1 7 
    2
    1 4
  • 输入#2

    10
    onetwonetwooneooonetwooo
    two
    one
    twooooo
    ttttwo
    ttwwoo
    ooone
    onnne
    oneeeee
    oneeeeeeetwooooo

    输出#2

    6
    18 11 12 1 6 21 
    1
    1 
    1
    3 
    1
    2 
    1
    6 
    0
    
    1
    4 
    0
    
    1
    1 
    2
    1 11

说明/提示

In the first example, answers are:

  • "onetwone",
  • "testme" — Polycarp likes it, there is nothing to remove,
  • "oneoneone",
  • "twotwo".

In the second example, answers are:

  • "onetwonetwooneooonetwooo",
  • "two",
  • "one",
  • "twooooo",
  • "ttttwo",
  • "ttwwoo" — Polycarp likes it, there is nothing to remove,
  • "ooone",
  • "onnne" — Polycarp likes it, there is nothing to remove,
  • "oneeeee",
  • "oneeeeeeetwooooo".

在第一个例子中,答案为:

  • “onetwone”,
  • “testme”——Polycarp 喜欢它,无需删除任何字符,
  • “oneoneone”,
  • “twotwo”。

在第二个例子中,答案为:

  • “onetwonetwooneooonetwooo”,
  • “two”,
  • “one”,
  • “twooooo”,
  • “ttttwo”,
  • “ttwwoo”——Polycarp 喜欢它,无需删除任何字符,
  • “ooone”,
  • “onnne”——Polycarp 喜欢它,无需删除任何字符,
  • “oneeeee”,
  • “oneeeeeeetwooooo”。

输入解题思路,AI测评打分。不知道怎么写?

首页