Codeforces1092C. Prefixes and Suffixes——————思维,字符串

STM32硬件SPI调试ADS1256的3个致命坑,CubeMX配置避坑指南 本文深入解析STM32硬件SPI调试ADS1256高精度ADC芯片时常见的3大配置陷阱,包括SPI时钟频率、时钟极性与相位、数据字节序等关键问题。通过CubeMX实战配置指南和实测数据对比,提供稳定可靠的解决方案,帮助开发者避免常见错误,提升采样精度和系统稳定性。 阅读详情

C. Prefixes and Suffixes

Ivan wants to play a game with you. He picked some string s of length n consisting only of lowercase Latin letters.

You don’t know this string. Ivan has informed you about all its improper prefixes and suffixes (i.e. prefixes and suffixes of lengths from 1 to n−1), but he didn’t tell you which strings are prefixes and which are suffixes.

Ivan wants you to guess which of the given 2n−2 strings are prefixes of the given string and which are suffixes. It may be impossible to guess the string Ivan picked (since multiple strings may give the same set of suffixes and prefixes), but Ivan will accept your answer if there is at least one string that is consistent with it. Let the game begin!

Input

The first line of the input contains one integer number n (2≤n≤100) — the length of the guessed string s.

The next 2n−2 lines are contain prefixes and suffixes, one per line. Each of them is the string of length from 1 to n−1 consisting only of lowercase Latin letters. They can be given in arbitrary order.

It is guaranteed that there are exactly 2 strings of each length from 1 to n−1. It is also guaranteed that these strings are prefixes and suffixes of some existing string of length n.

Output

Print one string of length 2n−2 — the string consisting only of characters ‘P’ and ‘S’. The number of characters ‘P’ should be equal to the number of characters ‘S’. The i-th character of this string should be ‘P’ if the i-th of the input strings is the prefix and ‘S’ otherwise.

If there are several possible answers, you can print any.

Examples

input

5
ba
a
abab
a
aba
baba
ab
aba

output

SPPSPSPS

input

3
a
aa
aa
a

output

PPSS

input

2
a
c

output

PS

Note

The only string which Ivan can guess in the first example is “ababa”.

The only string which Ivan can guess in the second example is “aaa”. Answers “SPSP”, “SSPP” and “PSPS” are also acceptable.

In the third example Ivan can guess the string “ac” or the string “ca”. The answer “SP” is also acceptable.


题意:
伊万想和你一起玩游戏。,他挑选了一些长度为n的字符串,仅由小写拉丁字母组成。 ,你不知道这个字符串。 伊万告诉了你所有的前缀和后缀(即前缀和后缀长度从1到n-1),但他没有告诉你哪些字符串是前缀,哪些是后缀。
伊万希望你猜测给定的2n-2个字符串中哪一个是给定字符串的前缀,哪些是后缀。你可能无法猜出伊万选择的字符串(因为多个字符串可能会给出相同的后缀和前缀集),但如果至少有一个字符串与它一致,伊万将接受您的答案。,让游戏开始吧!
输入
输入的第一行包含一个整数n(2≤n≤100) - 字符串s的长度。
接下来的2n-2行,包含前缀和后缀,每行一个。,它们中的每一个都是长度从1到n-1的字符串,仅由小写拉丁字母组成。,它们可以任意顺序给出。
保证每个长度恰好有2个字符串,从1到n-1。,还保证这些字符串是一些长度为n的现有字符串的前缀和后缀。
输出
打印一串长度为2n-2的字符串 - 仅由字符“P”和“S”组成的字符串。,字符“P”的数量应该等于字符“S”的数量。,如果输入字符串的第i个是前缀,则该字符串的第i个字符应为“P”,否则为“S”。 ,如果有多个可能的答案,您可以打印任何答案。


思路:
把所有字符串记录下位置,然后按照长度排序;
将长度为1和n-1的字符串连起来,这样就构成了一个长度为n的字符串,一共有4中情况。
然后和给定的2n-2个前缀后缀比较,如果能够全部匹配,那就说明构造的这个长度为n的字符串(可能)是原串,比较的过程中记录一下那些是前缀,那些是后缀。最后输出就好

#include<bits/stdc++.h>
using namespace std;
const int MAXN = 307;
struct node{
        string s;
        int id;
}a[MAXN];
char ans[MAXN];
int n;
bool cmp(node x,node y)
{
        return x.s.size()<y.s.size();
}

bool isPre(string s,string t)//是前缀
{
        for(int i=0;i<t.size();++i)
                if(s[i]!=t[i])
                        return false;
        return true;
}
bool isSuf(string s,string t)//是后缀
{
        for(int i=t.size()-1;i>=0;--i)
                if(s[s.size()-t.size()+i]!=t[i])
                        return false;
        return true;
}

void slove(string S)
{
        for(int i=1;i<=n;i+=2)
        {
                if(isPre(S,a[i].s) && isSuf(S,a[i+1].s))//两个长度相同的子串必定有一个是前缀,一个后缀
                {
                        ans[a[i].id]='P';
                        ans[a[i+1].id]='S';
                        continue;
                }
                if(isPre(S,a[i+1].s) && isSuf(S,a[i].s))
                {
                        ans[a[i].id]='S';
                        ans[a[i+1].id]='P';
                        continue;
                }
                return ;
        }
        for(int i=1;i<=n;++i)
                cout<<ans[i];
        cout<<endl;
        exit(0);
}
int main()
{

        cin>>n;
        n = n*2 - 2;
        for(int i=1;i<=n;++i)
        {
                cin>>a[i].s;
                a[i].id = i;
        }
        sort(a+1,a+n+1,cmp);
        if(n==2)
        {
                puts("PS");
                return 0;
        }
        slove(a[1].s+a[n-1].s);
        slove(a[1].s+a[n].s);
        slove(a[2].s+a[n-1].s);
        slove(a[2].s+a[n].s);
        return 0;
}
金融科技风险管理实践之监管评级全解 内部审计是公司治理的四大基石之一。因此,建议银行以问题与结果为导向,推动科技风险分级分类管理,重点防范重大中断、重大事件,并进一步加强科技风险评估与监测,加强对重要管理流程、重要系统、网络等重点管控环节的评估监测,对于评估发现的问题,及时完善管理手段,举一反三解决问题,提高风险管理的有效性。投入更多审计资源,加大对重点机构、薄弱环节、重要领域的审计力度,如:加强对境外机构的审计,加强网络安全、数据安全、业务连续性等高风险领域审计,加强数字化转型过程中的风险审计,以高水平安全,为数字金融高质量发展保驾护航。 阅读详情

相关推荐

r语言svr模型_R语言初探强化学习中的马尔可夫模型

强化学习大家这几年应该不陌生,从AlphaGo到AlphaZero让大家见识到了强化学习的力量。我们今天给大家介绍一个在强化学习中核心思维马尔可夫决策过程(MDP)。马尔科夫决策过程是基于马尔科夫论的随机动态系统的最优决策过程。它是马尔科夫过程与确定性的动态规划相结合的产物,故又称马尔科夫型随机动态规划,属于运筹学中数学规划的一个分支。今天我们给大家介绍下马尔可夫决策过程中用到一些算法以...

weixin_28994357的博客 1111

Prefixes and Suffixes

题目链接:http://codeforces.com/contest/1092/problem/C 题目大意:有一堆字符串,这些字符串是最初始字符串的一些前缀和后缀,现在让你判断输入的字符串是前缀(P)还是后缀(S),输入的字符串中是从1到n-1的长度,每种长度有两个,并按顺序打印出来。 思路:这题其实你只要想到初始的字符串应该有由什么组成,由什么能够确定下来。字符串由前缀和后缀就可...

dengcuo9877的博客 351

Cass三角网法土方计算优化技巧:如何根据地形特点调整边界采样间距

本文深入探讨了Cass软件中三角网法(DTM法)土方计算的优化技巧,核心在于如何根据地形的复杂程度动态调整边界采样间距。针对平坦、复杂及人工构造物等不同地形特征,提供了具体的间距调整策略与精度验证方法,旨在帮助工程师在计算精度与效率间找到最佳平衡,实现精细化土方计算。

weixin_29294975的博客 523

英语语法 学习

• 表示地点的介词:at, in, on, above, below, over, under, near, beside, between, among, around, inside, outside。• 表示时间的介词:at, in, on, before, after, by, during, until, since, for, from, to。• 表示方向的介词:to, towards, along, across, through, past, from, off, onto。

厚积薄发 941

c764-基于Vue的实时温湿度监控系统

🌟 毕业设计指导交流 🌟 同学们好!作为一名计算机专业的技术爱好者,我在毕业设计领域积累了一些经验,希望能和大家分享交流。从选题到答辩,欢迎一起探讨技术问题。💡 技术方向: 熟悉Java全栈(SSM/Spring Boot)、Python数据分析、微信小程序/安卓开发等技术栈,可以互相学习项目开发经验。📂 学习资源: 整理了一些开源项目案例(含代码和文档),需要参考的同学可以留言讨论,也欢迎分享你的项目经验。🛠 交流内容:✨ 欢迎在评论区留言讨论,一起进步!记得遵守社区规范,保持学术

weixin_39513710的博客 1070

huggingface使用git上传model或者Dataset到HF,当然也可以上传代码,以及大文件,很哇塞!!!

huggingface使用git上传model或者Dataset到HF,当然也可以上传代码,以及大文件,很哇塞!!! 第一次使用时,需要使用设置系统全局的huggingface token,这。点击huggingface首页右上角的头像 → settings → access tokens,创建一个write权限的token,名字可以随便取。

拥抱具身智能,昇腾Ascend C 3105

Codeforces 1092C Prefixes and Suffixes(思维)

题目链接:Prefixes and Suffixes 题意:给定未知字符串长度n,给出2n-2个字符串,其中n-1个为未知字符串的前缀(n-1个字符串长度从1到n-1),另外n-1个为未知字符串的后缀(n-1个字符串长度从1到n-1),判断这2n-2个字符串分别为前缀还是后缀。 题解:从2n-2从找个n-1长度的字符串和1长度的字符串拼接,判断该字符串是否符合要求,能作为未知字符串。符合的话,...

weixin_30685029的博客 172

通过一个具体的例子,讲解 SAP Cloud Platform Integration(CPI) 的使用方法

最近笔者由于项目需要,又得学习一个新工具:SAP Cloud Platform Integration,简称 CPI,以前又叫做HCI - HANA Cloud Platform Integration Service.笔者想通过本文,把使用这个工具的第一手体会,分享给曾经用过SAP CRM中间件,但尚未有机会接触到CPI的朋友们。之所以本文标题里把SAP CRM中间件和SAP CPI关联在一起,是因为二者同广义上说,扮演的都是系统集成里中间件的角色。SAP ERP和CRM通过qRFC进行业务数据同步,而中

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2275

Codeforces Round #659 (Div. 2) C. String Transformation 1(字符串,思维)

题目链接 题意: 给你两个长度相同的字符串a,b。你每次可以选择a中一些有相同字符的位置,把这些字符改成另一个大于他的字符。问至少要经过多少次修改,才能使a变成b。 思路: 我们只需要找a中与b不同的字母是否小于b中的字母并且记录是哪一个字母即可。 代码: #include<bits/stdc++.h> using namespace std; #define int long long #define IOS ios::sync_with_stdio(false);cin.tie(0);cou

ACkingdom的博客 206

MOSFET雪崩特性参数解析

但是,一些电源在输出短路时,初级中会产生较大的电流,加上初级电感,器件就会有雪崩损坏的可能,因此在这样的应用条件下,就要考虑器件的雪崩能量。对于那些在MOSFET的D和S极产生较大电压的尖峰应用,就要考虑器件的雪崩能量,电压的尖峰所集中的能量主要由电感和电流所决定,因此对于反激的应用,MOSFET关断时会产生较大的电压尖峰。雪崩击穿能量标定了器件可以容忍的瞬时过冲电压的安全值,其依赖于雪崩击穿需要消散的能量。EAS单脉冲雪崩击穿能量, EAS标定了器件可以安全吸收反向雪崩击穿能量的高低。

Airer_00的博客 806

【AUTOSAR AP PHM 】PHM 标准化“检查点上报接口”落地指南(AUTOSAR AP · R24-11取向)

本文介绍了AUTOSAR AP R24-11标准下PHM(平台健康管理)模块中"检查点上报接口"的标准化实现方案。主要内容包括: 核心设计理念:采用"配置优先"原则,通过部署模型预先定义监管参数,应用进程只需简单上报枚举标识,具体判定由PHM执行。 职责划分: 应用进程:仅调用ReportCheckpoint接口上报枚举值 PHM:负责Alive计数、Deadline区间判定和Logical路径校验 EM/IdsM:提供进程状态和越权检测 三类监管机制: Alive:

探索C++编程的奥秘,分享深入的技术见解和实践,旨在激发读者创造力与解决问题的思维。 220

codeforces 1092C Prefixes and Suffixes【字符串+思维】

题目链接:点这里 题意:这题意我读错了三个小时...最后到网上找题解的时候才发现读错了QAQ暴击 题意是判断给你的2*n-2个字符串是前缀还是后缀,不是判断这个字符串的内容...我真的欲哭无泪,理解能力太菜了 思路:将两个n-1长的字符串取出,先判断第一个取出的字符串和给出的字符串前缀的匹配程度。如果匹配程度大于半数,则这个为所需字符串-1,否则就是另外一个。同时要注意回文串的情况,所以开了...

okimaru的博客 281

在 Android Studio 中接入 DeepSeek:加速 Android 开发进程

通过在 Android Studio 中接入 DeepSeek,Android 开发者能够充分利用人工智能技术带来的强大优势,显著提升开发效率和代码质量。从前期的安装准备,到具体的接入步骤,再到使用过程中的技巧和注意事项,每一个环节都为打造高效、智能的开发环境提供了有力支持。希望本文能帮助你顺利将 DeepSeek 融入到 Android Studio 的开发工作流程中,让你在 Android 开发的道路上更加得心应手,创造出更优质的 Android 应用。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 4175

Codeforces 1092C Prefixes and Suffixes【字符串+思维】

题目链接:点这里 题意:理解错了题意导致WA好几发,QAQ暴击 题意是判断给你的2*n-2个字符串是前缀还是后缀,不是判断这个字符串的内容...我真的欲哭无泪,理解能力太菜了 思路:将两个n-1长的字符串取出,先判断第一个取出的字符串和给出的字符串前缀的匹配程度。如果匹配程度大于半数,则这个为所需字符串-1,否则就是另外一个。同时要注意回文串的情况,所以开了一个cnt数组进行标记,其中p和s的数...

橘嘉禾 115

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Prefixes and Suffixes CodeForces - 1092C (暴力)

题目链接 题意:有一个长度为n的字符串 (1<=n<=100) ,现在不按顺序给出它的n-1个前缀和n-1个后缀一共2n-2个字符串,请判断每个字符串是前缀或后缀。 思路:这题想复杂了,一直没搞出来,最终看了别人题解才知道直接暴力枚举出可能的原串(一共8种可能),每种都判断一下就可以… #include<bits/stdc++.h> using namespace std; const int maxn=500; int n; map<string,int> mp; st

矮纸斜行闲作草 227

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

codeforces contest 1092 C. Prefixes and Suffixes---回文串

题目链接:https://codeforces.com/contest/1092/problem/C 题意:存在一个长度为n的字符串,现在给出其所有长度(1~n-1)的前缀和后缀,对于每一个给出的字符串,判断其是前缀还是后缀。 题解:由两个长度为n-1的字符串就可确定整个字符串的内容,设两个长度为n-1的字符串分别是t1、t2,if(t1.substr(1, n-1) == t2.substr...

weixin_41597684的博客 245

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

codeforces 1092C-Prefixes and Suffixes

Ivan wants to play a game with you. He picked some string ssnn You don't know this string. Ivan has informed you about all its improper prefixes and suffixes (i.e. prefixes and suffixes of lengths fr...

zsnowwolfy的博客 357

Codeforces Round #527 (Div. 3) C. Prefixes and Suffixes (暴力检验)

题目链接:https://codeforces.com/problemset/problem/1092/C 题目大意: Ivan小鬼想和你玩游戏,他挑了一个长度为n的字符串s,但是他只给你这个串的所有前缀和后缀串(2*n - 2)个。现在他要你判断每个串到底是前缀还是后缀。 解题思路: 一开始我只根据长度为n-1的串造出了一个串(还有不是原串的可能?不得其解)检验了一遍,WA17,后来我暴力造出两...

CourierLo的博客 173

[cf] Codeforces Round #527 (Div. 3) C. Prefixes and Suffixes 字符串,前缀后缀,枚举

前言 tag:tag :tag:字符串 前缀,后缀 传送门 : 题意 给定一个nnn,表示未知串的长度 然后给定2∗n−22*n-22∗n−2组字符串,这些字符串可能是该未知串的前缀或者后缀 询问这些字符串是前缀还是后缀 数据范围 : n∈(1,00]n\in(1,00]n∈(1,00] 思路 因为数据范围很小,我们可以考虑暴力 首先枚举a[i]a[i]a[i],然后我们再枚举长度为n−a[i].size()n-a[i].size()n−a[i].size()的串 如果存在,我们就将其进行拼接,然后暴力ch

qq_34364611的博客 305

Codeforces Round #527 (Div. 3) C. Prefixes and Suffixes(枚举模拟)

题目链接:http://codeforces.com/contest/1092/problem/C 题意:现在有一个未知字符串,长度为nnn,现在给出它的所有前缀和后缀共2∗n−22*n-22∗n−2个字符串,但是给出的字符串你并不知道它是作为前缀还是后缀,你需要判断每一个给出的字符串是前缀还是后缀。 解题心得: 首先找出两个长度为n−1n-1n−1的字符串,他们作为最长前后缀可以根据这两个字符...

二营长的意大利炮友 135

C. Prefixes and Suffixes

链接 [https://codeforces.com/contest/1092/problem/C] 题意 给你某个字符串的长度n,再给你2*n-2个前缀或者后缀 让你判断那些是前缀那些是后缀 关键是1到n-1的都有两个 分析 只需分析长度为n-1的那两个谁是前缀,谁是后缀 代码 #include<bits/stdc++.h> using namespace std; string s...

weixin_30487701的博客 178

Codeforces Round #527 (Div. 3) CF1092C Prefixes and Suffixes

题目:Prefixes and Suffixes 思路: 可以知道原序列一定是由给出的最长的两个字符串拼接而成的,所以可以尝试把最长的两个字符串按两种相对位置拼接。 设一个数组b。 对于每种拼接方法—— 如果一个串可以放在前缀的位置而不能放在后缀的位置,就把b[i]设为1。 如果一个串可以放在后缀的位置而不能放在前缀的位置,就把b[i]设为2。 如果一个串可以放在前缀的位置也可以放在后缀的位置,...

iwi 455

C. Prefixes and Suffixes (string函数)

题目链接:https://codeforces.com/contest/1092/problem/C 题意:给你2*n-2的字符子串,每个子串要么是前缀,要么是后缀,让你从中猜出来。 题解:我们直接找最长的两个子串,显然由这两个能推出整个串。 #include&lt;cstdio&gt; #include&lt;algorithm&gt; #include&lt;cstring&gt; #...

Jiandong 615

Codeforces Round #527 (Div. 3) C. Prefixes and Suffixes(思维+模拟)

  题目链接:http://codeforces.com/contest/1092/problem/C        题意是有一个长度为n的字符串(并没有给出),然后给出了2*n-2个这个字符串的前缀和后缀子串,也就是长度为1的有两个,分别是字符串的前缀和后缀,长度为2的也有两个,也是一个为前缀一个为后缀,直到n-1的长度的前后缀子串,然后让判断当前子串是前缀还是后缀,要注意的是abc的长度为...

Charles_Zaqdt的博客 301

CodeForces Round #527 (Div3) C. Prefixes and Suffixes

http://codeforces.com/contest/1092/problem/C Ivan wants to play a game with you. He picked some stringssof lengthnnconsisting only of lowercase Latin letters. You don't know this string. Iv...

weixin_30315723的博客 116

Codeforces Round #527 (Div. 3) C. Prefixes and Suffixes(思维)

题目链接:http://codeforces.com/contest/1092/problem/C 题意:有一个长度为n的字符串(并没有给出),然后给出了2*n-2个这个字符串的前缀和后缀子串,也就是长度为1的有两个,分别是字符串的前缀和后缀,长度为2的也有两个,也是一个为前缀一个为后缀,直到n-1的长度的前后缀子串,然后让判断当前子串是前缀还是后缀(前缀输出P后缀输出S),要注意的是abcd的...

sugarbliss 462
上一篇: 排序总结——————数据结构
下一篇: 用 Python 给文件改名字——————Python
陶鸿杰
博客等级 码龄9年 93粉丝 298原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值