NOIP模擬題——神秘大門

【題目描述】
最近小K大牛經過調查發現,在WZland的最南方——WZ Antarctica 出現了奇怪
的磁場反應。為了弄清楚這一現象,小K 大牛親自出馬,來到了WZ Antarctica。
小K大牛發現WZ Antarctica 出現了一道神秘的大門。人總有好奇心,小K大牛想打開
這扇神秘大門,看門的后面究竟是什么東西,但用盡什么辦法也不能打開這扇門。
突然,門上出現了一些奇怪的字符。憑著敏銳的直覺,小K 認為這些符號就是打
開這扇門的關鍵, 于是小K 抓緊時間開始研究這些符號。
經過一些時間的研究,小K 大牛發現這些符號其實是一串密碼,只有破解了
這個密碼, 才能打開那扇神秘大門。這個密碼十分簡單,他給出了兩個很長的字
符串A 和B,你只需要判斷B 是否在A 中出現過就可以了,當然如果B 在A
中出現,那么你還需要輸出B 的字符在A 中依次出現的位置。
這里解釋一下B 在A 中出現的概念,設A=S1S2…SN,B= T1T2…TM,如果存
在一組數K:K1<K2<…<KM,使得B=SK1SK2…SKM,那么就可以認為B 在A 出現
過。比如說A=sdfesad, B=sfsad,那么B 在A 中出現過,因為B 中的字符在A
中依次出現的位置為1 3 5 6 7。
這個解密過程實在太簡單了,于是小K 大牛就將這個任務交給了你。由于小K
大牛十分著急,他只給了你1s 的時間。
【輸入】
輸入數據包含2 行,分別包含一個字符串,第一行輸入的是字符串A,第二
行輸入的是字符串B。
【輸出】
第一行輸出一個字符串“Yes”或“No”,如果B 在A 中出現,那么輸出“Yes”,
否則輸出“No”。
如果你的第一行輸出“Yes”,那么在第接下來若干行你需要輸出一組數K,使
得B=SK1SK2…SKM,每行一個數;否則第二行為空。如果存在多組數據滿足條件,
你需要輸出字典序最大的一組。
【輸入輸出樣例1】
door.in ? ? door.out
sdfesad ? ?Yes
sfsad ? ? ? ?1

? ? ? ? ? ? ? ?3

? ? ? ? ? ? ? ?5

? ? ? ? ? ? ? ?6

? ? ? ? ? ? ? ?7?
【輸入輸出樣例2】
door.in ? ? ?door.out
abcdef ? ? ? No
acdefg

【數據范圍】

字符串長度1≤n≤1e6

?

倒著找,向前貪心,一定得到字典序最大或-1。

 1 #include<cstdio>
 2 #include<iostream>
 3 #include<cstring>
 4 #include<cstdlib>
 5 using namespace std;
 6 const int maxn=1e6+7;
 7 char a[maxn],b[maxn];
 8 int q[maxn];int temp3=0;
 9 int temp1,temp2;
10 int main()
11 {
12     freopen("door.in","r",stdin);
13     freopen("door.out","w",stdout);
14     scanf("%s",a);
15     scanf("%s",b);
16     temp1=strlen(a)-1;
17     temp2=strlen(b)-1;
18     while(temp2>=0)
19     {
20         while(a[temp1]!=b[temp2])
21         {
22             temp1--;
23             if(temp1<temp2)
24             {
25                 printf("No");
26                 exit(0);
27             }
28         }
29         q[++temp3]=temp1;
30         temp2--;temp1--;
31     }
32     printf("Yes\n");
33     for(int i=temp3;i>=1;i--)
34     printf("%d\n",q[i]+1);
35     return 0;
36 }

?

轉載于:https://www.cnblogs.com/937337156Zhang/p/6025953.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/457027.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/457027.shtml
英文地址,請注明出處:http://en.pswp.cn/news/457027.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

大學c語言程序設計大賽,關于舉辦寧夏大學第二屆C語言程序設計大賽的通知

各學院&#xff1a;根據學校《關于進一步加強基礎課教學改革的意見》(寧大校發〔2008〕178號)、《關于加強學生創新精神和創新能力培養的實施意見》(寧大校發〔2008〕75號)的有關文件精神&#xff0c;經研究決定舉辦寧夏大學第二屆C語言程序設計大賽&#xff0c;從中選拔出優秀…

Android中創建自己的對話框

Activities提供了一種方便管理的創建、保存、回復的對話框機制&#xff0c;例如 onCreateDialog(int), onPrepareDialog(int, Dialog), showDialog(int), dismissDialog(int)等方法&#xff0c;如果使用這些方法的話&#xff0c;Activity將通過getOwnerActivity()方法返回該Act…

django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.3 or newer is required; you have 0.7.11

搭建Django2.0Python3MySQL5時同步數據庫時報錯&#xff1a; django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.3 or newer is required; you have 0.7.11.None 解決辦法&#xff1a; 找到Python安裝路勁下的Python36-32\Lib\site-packages\django\db\backend…

一件很好笑的事情

我是一個比較習慣努力學習的人&#xff0c; 我也會去學習各種可能與我有交集的知識&#xff0c; 就在這幾天&#xff0c;我看到以前的一個android網絡培訓學校開辦了C/C的培訓&#xff0c;這是挺好的事&#xff0c; 但是看他們的文件&#xff0c;我就奇怪了。 這份文件&#xf…

c語言實現循環鏈表,c語言實現循環鏈表的基本操作

循環鏈表和單鏈表其實區別不大,差別僅在于算法中的循環條件不是p或者p->next,而是是否等于頭指針。下面這個例子簡單的實現了循環鏈表的基本操作,其中插入和刪除只是完成了主要的部分,沒有判斷。#include#includestruct Data{char name;int age;};struct CirList{Data *data…

關于Eclipes的Logcat無法打印消息的解決辦法

轉自&#xff1a;http://blog.csdn.net/harry211/article/details/8453532 調試程序需要打印一些消息出來&#xff0c;logcat不好用的話就很麻煩了。這個問題折騰了好久&#xff0c;為啥就是不出來呢&#xff1f; 上網找了很多解決辦法&#xff1a; 重啟eclipse 重啟adb 重啟…

17:文字排版

17:文字排版 查看提交統計提問總時間限制: 1000ms內存限制: 65536kB描述給一段英文短文&#xff0c;單詞之間以空格分隔&#xff08;每個單詞包括其前后緊鄰的標點符號&#xff09;。請將短文重新排版&#xff0c;要求如下&#xff1a; 每行不超過80個字符&#xff1b;每個單詞…

解決AttributeError: 'str' object has no attribute 'decode'報錯問題

順著報錯文件點進去&#xff0c;找到query query.decode(errors‘replace’) 將decode修改為encode即可

c語言指針數組課件,C語言指針與數組教程課件.ppt

C語言指針與數組教程;教學要求;本章主要內容;引子;#include void swap ( int x, int y ) { printf("調用時&#xff1a;x地址為&#xff1a;%p, 值為&#xff1a;%d\n",&x,x); printf("調用時&#xff1a;y地址為&#xff1a;%p, 值為&#xff1a;%d\n"…

Android控制EditText的焦點

在項目中&#xff0c;一進入一個頁面, EditText默認就會自動獲取焦點。 那么如何取消這個默認行為呢&#xff1f; 在網上找了好久&#xff0c;有點 監聽軟鍵盤事件&#xff0c;有點 調用 clearFouse()方法&#xff0c;但是測試了都沒有&#xff01; xml中也找不到相應的屬性可以…

解決python中html 代碼被注釋掉 依舊被解釋導致報錯ERROR:tornado.access:500 GET /home (xxx.xxx.xxx.xxx)

ERROR:tornado.access:500 GET /home (xxx.xxx.xxx.xxx) 注釋的是Html代碼&#xff0c;是給瀏覽器看的。 Html里的代碼還是要執行。注釋python代碼用{# #}

springMvc 傳子 bean 中有bean

2019獨角獸企業重金招聘Python工程師標準>>> bean 類型 如下 1. json 字符串 $.ajax({ url :${ctx}/test/testData/f1?bookjava, type: post, dataType : "json", con…

通過rsync搭建一個遠程備份系統(二)

Rsyncinotify實時備份數據 rsync在同步數據的時候&#xff0c;需要掃描所有文件后進行對比&#xff0c;然后進行差量傳輸&#xff0c;如果文件達到了百萬或者千萬級別以上是&#xff0c;掃描文件的時間也很長&#xff0c;而如果只有少量的文件變更了&#xff0c;那么此時rsync是…

C語言掃地雷游戲的題目簡介,C語言程序設計課程設計(論文)-掃地雷游戲.doc...

C語言程序設計課程設計(論文)-掃地雷游戲遼 寧 工 業 大 學C語言程序設計 課程設計(論文)題目&#xff1a; 掃地雷游戲院(系)&#xff1a; 軟件學院專業班級: 電子商務091班學 號:學生姓名&#xff1a;指導教師&#xff1a;教師職稱&#xff1a; 助 教起止時間&#xff1a;2009…

關于地圖中軌跡的平滑移動的實現

很多人應該都有類似的經歷&#xff0c;叫完車&#xff0c;想看看車離我還有多遠距離&#xff1f;但手機屏幕上的車不是一動不動&#xff0c;就是一跳一跳的漂移。 目前市面上大多產品“軌跡平滑移動”做的并不好。 市面上只有快的打車和一號專車實現了平滑移動&#xff0c;那…

查看centos中的用戶和用戶組

1、用戶列表文件&#xff1a;/etc/passwd/ 2、用戶組列表文件&#xff1a;/etc/group 3、查看系統中有哪些用戶&#xff1a; cut -d : -f 1 /etc/passwd 4、查看可以登錄系統的用戶&#xff1a; cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1 5、查看用戶操作…

【Android】關于參數的傳遞問題

最近遇到了一個bug&#xff0c;在debug條件下可以看出更改后的值&#xff0c;但是在最終顯示的結果中確實沒有更改的值。經過很多次的調試后&#xff0c;才發現最后的原因竟然是因為參數傳遞的時候并沒有將更改后的值傳遞給最終變量。 這時才意識到java中只存在值傳遞&#xff…

android按鈕響應事件嗎,Android 按鈕響應事件的幾種方式

目錄1.在布局中指定onClick屬性布局代碼android:id"id/btn1"android:layout_width"wrap_content"android:layout_height"wrap_content"android:text"button1"android:onClick"click"/>android:id"id/btn2"andr…

Android 開源優秀 Library 推薦

之后的每月會推薦一些優秀的開源 Android libraries&#xff0c;不僅僅是學習&#xff0c;也可以方便的使用到項目中&#xff0c;避免重復的造輪子。 PageIndicatorView 如果你需要在 ViewPager 中指明當前處于哪個畫面中&#xff0c;PageIndicatorView是你的不二選擇。而且真…

Vue2.0王者榮耀助手

vue-gok vue2.0-王者榮耀助手 項目使用的是帶玩游戲平臺提供的API&#xff0c;由于騰訊公司王者榮耀游戲關閉了查看其它人的戰績功能&#xff0c;帶玩平臺受其影響&#xff0c;已將API暫時關閉&#xff0c;所以無法獲得穩定的 DAIWAN-API-TOKEN ,所以會出現DAIWAN-API-TOKEN令…