實驗10:Problem A: STL——整理唱片

来源:http://www.cnblogs.com/auto1945837845/archive/2016/05/06/5467174.html
-Advertisement-
Play Games

感覺我這道題寫的太麻煩了,湊活著看吧。據說這道題有個bug,我也就這麼AC了,實在沒註意到什麼問題 Problem A: STL——整理唱片 Problem A: STL——整理唱片 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 3424 Solved: ...


感覺我這道題寫的太麻煩了,湊活著看吧。據說這道題有個bug,我也就這麼AC了,實在沒註意到什麼問題

Home Web Board ProblemSet Standing Status Statistics
  Problem A: STL——整理唱片

Problem A: STL——整理唱片

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 3424  Solved: 790
[Submit][Status][Web Board]

Description

小明有一個書架,但是他卻用它放了許多唱片。但是他的習慣很不好,唱片胡亂擺放。於是他決定整理一下他的唱片。為了方便起見,小明用一個整數表示他對一張唱片的喜愛程度。 小明會對書架上的唱片進行的整理可以細化成如下操作: 1:在第一個喜愛程度為i唱片後放入一張喜愛程度為j的新唱片; 2:拿走所有的喜愛程度小於等於i唱片,因為小明無法忍受喜愛程度小於等於i的唱片 3:將所有喜愛程度為i的唱片拿出,並將一張喜愛程度為i的新唱片放入第一張喜愛程度為j的唱片後面。 輸出小明整理完後的唱片排列情況(顯示唱片的喜愛程度即可) 註:對於非法操作應該自動忽略,如情況1不存在要求的喜愛程度i,則自動忽略,不應該影響結果。  

 

Input

輸入有多組情況,每組第一行為n,表示唱片數,下一行有n個數字,表示各個唱片首小明的喜愛程度。下一行為m,小明的操作次數,一下m行每行開始包含一個數字t,表示題目中描述的操作種類,後面跟著一到兩個數字,表示題目描述中的i和j

 

Output

每組情況輸出一行,表示唱片整理後的情況,最後一個數字後木有空格。(n,m<=1000)

 

Sample Input

5 1 2 3 4 5 3 1 5 6 3 1 3 2 4

Sample Output

5 6

HINT

用STL的list容易解決。

 

 

Append Code

 
[Submit][Status][Web Board]

한국어<   中文  فارسی  English  ไทย
All Copyright Reserved 2010-2011
SDUSTOJ TEAM
GPL2.0 2003-2011 HUSTOJ Project TEAM
Anything about the Problems, Please Contact Admin:
admin

#include<iostream>
#include<list>
#define MAX 1002
using namespace std;
list<int>l;
list<int>::iterator p;
void change1()
{
    int a,b;
    cin>>a>>b;
    for(p=l.begin();p!=l.end()&&*p!=a;p++);
    if(p!=l.end()) l.insert(++p,b);

}
void change2()
{
    int i;
    cin>>i;
    p=l.begin();
    for(p=l.begin(); p!=l.end();)
    {
        if(*p<=i)
            l.erase(p++);
        else p++;
    }

}
void change3()
{
    int i,j;
    cin>>i>>j;
    for(p=l.begin(); p!=l.end()&&*p!=j; p++);
    if(p!=l.end())
    {
        l.remove(i);
        for(p=l.begin(); p!=l.end()&&*p!=j; p++);
        if(p!=l.end())
            l.insert(++p,i);
    }

}
int main()
{
    int num,i,choose,n;
    int tmp;
    while(cin>>n){
    l.clear();
        for(int j=0; j<n; j++)
        {
            cin>>tmp;
            l.push_back(tmp);
        }

        cin>>num;
        for(i=0; i<num; i++)
        {
            cin>>choose;
            if(choose==1)
                change1();
            else if(choose==2)
                change2();
            else if(choose==3)
                change3();
        }
        for(p=l.begin(); p!=l.end(); p++)
        {
            if(p!=l.begin())
                cout<<' ';
            cout<<*p;
        }
        cout<<endl;

    }
    return 0;
}

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 上篇文章搭建了zookeeper集群 那好,今天就可以搭建solr搜服服務的集群了,這個和redis 集群不同,是需要zk管理的,作為一個代理層 安裝四個tomcat,修改其埠號不能衝突。8080~8083 如果是正式環境下,則分別使用4台linux作為節點 修改server.xml文件修改埠號 ...
  • 今天終於看完了第一章,哈哈,萬事開頭難....剛開始被編程思想的第一章給矇住了,講一堆理論,沒什麼意思。從第二章開始,真正的開始講解Java相關的內容,有了一定的開發經驗後,再次閱讀起來,感覺收穫良多啊! 關於對象 與C這種面向過程的語言不通,Java是面向對象的,在它眼裡一切都是對象。 在Java ...
  • Eclipse自己帶有編譯器(JDK),因為安裝Eclipse時還需要安裝jre。 Eclipse需找JRE的順序: 1. 先到Eclipse的安裝目錄先尋找Eclipse.ini文件中的-vm參數(-vm javaw.exe路徑)是否配置,使用此配置下的jre啟動Eclipse 2. 如果沒有配置... ...
  • 恢復內容開始 1.首先說明什麼是JDBC在第一眼看到這個名詞之前,我覺得有必要知道它的英文全稱是什麼,Java Database Connectivity,從英文字面上理解就直譯為可連通的Java資料庫,說白了也就是想提供一套中間環節,去連接Java代碼與資料庫,使之可以直接通過操作Java代碼就可 ...
  • STL(Standard Template Library)標準模板庫是C++最重要的組成部分,它提供了一組表示容器、迭代器、函數對象和演算法的模板。其中容器是存儲類型相同的數據的結構(如vector,list, deque, set, map等),演算法完成特定任務,迭代器用來遍歷容器對象,扮演容器和 ...
  • UDP發送端 獲取DatagramSocket對象,new出來 獲取DatagramPacket對象,new出來,構造參數:byte[]數組,int長度,InetAddress對象,int埠 調用DatagramSocket對象的send()方法,發送出去,參數:DatagramPacket對象 ...
  • 寫在前面 這次的爬蟲是關於房價信息的抓取,目的在於練習10萬以上的數據處理及整站式抓取。 數據量的提升最直觀的感覺便是對函數邏輯要求的提高,針對Python的特性,謹慎的選擇數據結構。以往小數據量的抓取,即使函數邏輯部分重覆,I/O請求頻率密集,迴圈套嵌過深,也不過是1~2s的差別,而隨著數據規模的 ...
  • 什麼是操作符? 簡單的回答可以使用表達式4 + 5等於9,在這裡4和5被稱為操作數,+被稱為操符。 Python語言支持操作者有以下幾種類型。 算術運算符 比較(即關係)運算符 賦值運算符 邏輯運算符 位運算符 會員操作符 標識操作符 算術運算符 比較(即關係)運算符 賦值運算符 邏輯運算符 位運算 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...