Codeforces盲盒!!!
#include <bits/stdc++.h>
又是美好的一天呢——
今天给大家写点啥呢?让我好好想一想……
有了!
Codeforces盲盒来啦!!!!
今天给大家抽个盲盒,我们选哪道题呢?
In Python Shell……
Python 3.8.6rc1 (tags/v3.8.6rc1:08bd63d, Sep 7 2020, 23:10:23) [MSC v.1927 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>> from random import randint
>>> s = str(randint(250, 888)) + "A"
>>> print(s)
612A
>>>
嗯,今天我就做612A吧!
希望我能做出来……
A. The Text Splitting
题意:给你一个字符串s,数字p、q,请你找到一种把s切成p和(或)q的长度的子串的方法。
我的天!1300的难度系数!好吓人!
但是,只要你的眼尖……

天啦噜!brute force!
赶快,暴力代码,快上啊!
代码:
1 #include <bits/stdc++.h> 2 using namespace std; 3 4 int main() { 5 int n, p, q; 6 string s; 7 cin >> n >> p >> q; 8 cin >> s; 9 int pcnt, qcnt; 10 int ok = 0; 11 for (pcnt = 0; pcnt < 100; pcnt++) { // 使用暴力, 12 for (qcnt = 0; qcnt < 100; qcnt++) { // 快使用暴力! 13 if (pcnt * p + qcnt * q == n) { 14 cout << pcnt + qcnt << endl; 15 ok = 1; // 这个值可以啊! 16 } 17 if (ok) { 18 break; 19 } 20 } 21 if (ok) { 22 break; 23 } 24 } 25 if (pcnt == 100 && qcnt == 100) { // 不可能! 26 cout << -1; 27 return 0; 28 } 29 int i, j; // 注意:算q时需要p的! 30 for (i = 0; i < pcnt; i++) { // 先切pcnt个p 31 cout << s.substr(i * p, p) << endl; 32 } 33 for (j = 0; j < qcnt; j++) { // 再切qcnt个q 34 cout << s.substr(i * p + j * q, q) << endl; // 我说用上了吧! 35 } 36 return 0; 37 }

浙公网安备 33010602011771号