結果
問題 | No.400 鏡 |
ユーザー |
|
提出日時 | 2016-08-06 08:37:16 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 3,697 bytes |
コンパイル時間 | 964 ms |
コンパイル使用メモリ | 103,900 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-07 02:47:11 |
合計ジャッジ時間 | 1,544 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 8 |
ソースコード
//#define _GRIBCXX_DEBUG#include <algorithm>#include <cctype>#include <climits>#include <cmath>#include <complex>#include <cstdio>#include <cstdlib>#include <cstring>#include <ctime>#include <deque>#include <functional>#include <iostream>#include <iomanip>#include <list>#include <map>#include <memory>#include <numeric>#include <queue>#include <set>#include <stack>#include <string>#include <utility>#include <vector>using namespace std;// 基本テンプレート#pragma region MACRO#define P(x) cout << (x) << endl#define p(x) cout << (x)#define PED cout << "\n"#define rep(i,n) for(int i=0; i<(int)n; ++i)#define REP(i,x,n) for(int i=x; i<(int)n; ++i)#define repi(i,n) for(int i=0; i<=(int)n; ++i)#define REPI(i,x,n) for(int i=x; i<=(int)n; ++i)#define ILP while(true)#define FOR(i,c) for(__typeof((c).begin())!=(c).begin(); i!=(c).end(); ++i)#define ALL(c) (c).begin(), (c).end()#define mp make_pair#pragma endregion#pragma region TYPE_DEFtypedef long long ll;typedef pair<int, int> pii;typedef pair<string, string> pss;typedef pair<string, int> psi;typedef pair<int, string> pis;typedef vector<int> vi;typedef vector<double> vd;typedef vector<long> vl;typedef vector<long long> vll;typedef vector<string> vs;#pragma endregion// Effective std#pragma region ESTDtemplate<typename C, typename T>constexpr int count(C& c, T t) { return count(ALL(c), t); }template<typename C, typename F>constexpr int count_if(C& c, F f) { return count_if(ALL(c), f); }template<typename C, typename T, typename U>constexpr void replace(C& c, T t, U u) { replace(ALL(c), t, u); }template<typename C, typename F, typename U>constexpr void replace_if(C& c, F f, U u) { (ALL(c), f, u); }template<typename C>constexpr void sort(C& c) { sort(ALL(c)); }template<typename C, typename Pred>constexpr void sort(C& c, Pred p) { sort(ALL(c), p); }template<typename C>constexpr void reverse(C& c) { reverse(ALL(c)); }#pragma endregion// 素数#pragma region PRIMEbool is_prime(unsigned n) {switch(n) {case 0:case 1: return false;case 2: return true;}if (n%2==0) return false;for (unsigned i=3; i*i<=n; i+=2)if (n%i==0) return false;return true;}#pragma endregion// 大文字/小文字変換#pragma region TRANSFORMvoid mutal_tr(string &s) {for(int i=s.size(); i--;) {if(islower(s[i])) s[i] = toupper(s[i]);else if (isupper(s[i])) s[i] = tolower(s[i]);}}void to_upper(string &s) { for(int i=s.size(); i--;) s[i] = toupper(s[i]); }void to_lower(string &s) { for(int i=s.size(); i--;) s[i] = tolower(s[i]); }#pragma endregion// 集合#pragma region SETtemplate<class T>set<T> intersection(const set<T>& sa, const set<T>& sb) {set<T> ret;for(T a : sa) if(sb.find(a) != sb.end()) ret.insert(a);return ret;}#pragma endregion// Union Find#pragma region UFstruct UnionFind {vector<int> data;UnionFind(int size) : data(size, -1) {}bool union_set(int x, int y) {x = root(x); y = root(y);if(x!=y) {if(data[y] < data[x]) swap(x, y);data[x] += data[y]; data[y] = x;}return x != y;}bool find_set(int x, int y) { return root(x) == root(y); }int root(int x) { return data[x] < 0 ? x : data[x] = root(data[x]); }int size(int x) { return -data[root(x)]; }};#pragma endregion// 定数#pragma region CONST_VAL#define PI (2*acos(0.0))#define EPS (1e-9)#define MOD (int)(1e9+7)#pragma endregionvoid solve(string &s) {for(int i=s.size(); i--;) {if(s[i]=='>') s[i] = '<';else if (s[i]=='<') s[i] = '>';}}int main(){string s;cin >> s;solve(s);reverse(s);P(s);return 0;}