tft每日頭條

 > 生活

 > 不規則圖形排列

不規則圖形排列

生活 更新时间:2024-08-04 00:11:32

不規則圖形排列?輸入多個字符串,有些是對稱的,有些是不對稱的,請将那些對稱的字符串按從小到大的順序輸出字符串先以長度論大小,如果長度相同,再以ASCII碼值為大小标準,今天小編就來說說關于不規則圖形排列?下面更多詳細答案一起來看看吧!

不規則圖形排列(排列對稱串)1

不規則圖形排列

ICPC--1248: 排列對稱串題目描述

輸入多個字符串,有些是對稱的,有些是不對稱的,請将那些對稱的字符串按從小到大的順序輸出。字符串先以長度論大小,如果長度相同,再以ASCII碼值為大小标準。

輸入

輸入第一行是一個整數n(1<=n<=100),接下來n行是n個字符串,每個字符串不大于200個字符。

輸出

輸出對稱的那些串,并且要求按從小到大的順序輸出,每個字符串占一行。

樣例輸入

7 123321 123454321 123 321 sdfsdfd 121212 after noon retfa

樣例輸出

123321 123454321 after noon retfa

代碼

#include<iostream> #include<cstdio> #include<string> #include<vector> #include<algorithm> using namespace std; bool cmp(const string &s1, const string &s2)//使用const:因為引用傳參,比拷貝傳參的效率要高,const是因為隻是比較,而沒有修改其内容。 { return s1.length() != s2.length() ? s1.length()<s2.length() : s1<s2; } int main() { int n; char ch; vector<string> v; cin >> n; scanf("%c", &ch);//吃掉n之後的換行符,vc使用scanf(),在vs2013中不安全,提示為scanf_s(); string t, s; //while(n--) for (int k = 0; k<n; k ) { getline(cin, t);//cin>>s不能輸進空格 s = t; reverse(t.begin(), t.end()); if (t == s) { v.push_back(s); } } sort(v.begin(), v.end(), cmp); for (int i = 0; i<v.size(); i ) { cout << v[i] << endl; } return 0; }

ICPC--1249: 成功學生人數,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved