标签:
题目连接:点击打开链接
解题思路:
不可以用cin,会超时
完整代码:
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <set>
using namespace std;
const int INF = 1000000000;
const int maxn = 10001;
char s[maxn];
int main()
{
#ifdef DoubleQ
freopen("in.txt" , "r" , stdin);
#endif // DoubleQ
while(~scanf("%s" , s))
{
int len = strlen(s);
for(int i = len - 1 ; i >= 0 ; i --)
printf("%c",s[i]);
printf("\n");
}
}
解题思路:
暴力枚举
完整代码:
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <set>
using namespace std;
const int INF = 1000000000;
const int maxn = 10001;
char s[maxn];
int main()
{/*
#ifdef DoubleQ
freopen("in.txt" , "r" , stdin);
#endif // DoubleQ
*/ for(int i = 0 ; i <= 9 ; i ++)
{
for(int j = 0 ; j <= 9 ; j ++)
{
for(int k = 0 ; k <= 9 ; k ++)
{
int a = i * 100 + j * 10 + k;
int b = j * 100 + k * 10 + k;
if(a + b == 532)
{
cout << i << " " << j << " " << k << endl;
}
}
}
}
}
解题思路:
枚举
完整代码:
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <set>
using namespace std;
const int INF = 1000000000;
const int maxn = 10001;
int a[101] , b[101];
int check(int key)
{
int sum = 0;
for(int i = 1 ; i < key ; i ++)
{
if(key % i == 0)
sum += i;
}
if(sum == key) return 1;
else if(sum > key) return 2;
else return 0;
}
int main()
{/*
#ifdef DoubleQ
freopen("in.txt" , "r" , stdin);
#endif // DoubleQ
*/
int cnt1 = 0 , cnt2 = 0;
for(int i = 2 ; i <= 60 ; i ++)
{
if(check(i) == 1)
{
a[cnt1++] = i;
}
else if(check(i) == 2)
b[cnt2++] = i;
}
cout << "E: ";
for(int i = 0 ; i < cnt1 ; i ++)
printf("%d%s" , a[i] , i == cnt1 - 1 ? "\n" : " ");
cout << "G: ";
for(int i = 0 ; i < cnt2 ; i ++)
printf("%d%s" , b[i] , i == cnt2 - 1 ? "\n" : " ");
}
解题思路:
排序
完整代码:
#include <functional>
#include <algorithm>
#include <iostream>
#include <fstream>
#include <sstream>
#include <iomanip>
#include <numeric>
#include <cstring>
#include <climits>
#include <cassert>
#include <complex>
#include <cstdio>
#include <string>
#include <vector>
#include <bitset>
#include <queue>
#include <stack>
#include <cmath>
#include <ctime>
#include <list>
#include <set>
#include <map>
using namespace std;
#pragma comment(linker, "/STACK:102400000,102400000")
typedef long long LL;
typedef double DB;
typedef unsigned uint;
typedef unsigned long long uLL;
/** Constant List .. **/ //{
const int MOD = int(1e9)+7;
const int INF = 0x3f3f3f3f;
const LL INFF = 0x3f3f3f3f3f3f3f3fLL;
const DB EPS = 1e-9;
const DB OO = 1e20;
const DB PI = acos(-1.0); //M_PI;
struct node
{
string s;
int old;
int score;
}q[1000001];
bool cmp(node a , node b)
{
if(a.score != b.score)
return a.score > b.score;
else if(a.s != b.s)
return a.s > b.s;
else
return a.old > b.old;
}
int main()
{
#ifdef DoubleQ
freopen("in.txt","r",stdin);
#endif
int n;
while(~scanf("%d",&n))
{
for(int i = 0 ; i < n ; i ++)
{
cin >> q[i].s;
scanf("%d%d",&q[i].old ,&q[i].score);
}
sort(q , q + n , cmp);
for(int i = n - 1 ; i >= 0 ; i --)
{
cout << q[i].s << " " << q[i].old << " " << q[i].score << endl;
}
}
}标签:
原文地址:http://blog.csdn.net/u013447865/article/details/44887851