經(jīng)GYZ、CLJ神牛指點,在N次Error后終于注冊成功了……
Topcoder與NOI的規(guī)則區(qū)別:
【1】Topcoder的代碼不是一個完整的代碼(連main()都米有),而只是一個類,類里面只有一個方法(相當于main())。不用輸入、輸出,系統(tǒng)會將輸入數(shù)據(jù)直接傳遞到這個方法的參數(shù)里,在方法執(zhí)行完后將返回值直接傳遞到輸出里。類名、方法名、輸入?yún)?shù)類型、輸出結(jié)果類型是在原題中規(guī)定的(但參數(shù)名、輸出結(jié)果名可以自定義)。代碼中可以(也必須)使用C++ STL。
【2】捉題的時候,題目描述下面的編碼區(qū)里可以直接編代碼,編好后點下面的Compile編譯,再點Test測試(可以測試樣例和自己的數(shù)據(jù)),測試完畢后,點Submit提交。所以,不必向其它OJ一樣在IDE里編好再Ctrl+ACV提交。
其它的可以參照網(wǎng)上其他人寫的東東。
本沙茶先在里面捉了幾題(全是水題,神犇不要鄙視),代碼:
SRM 506 DIV1 250:
#include <iostream>
#include <string>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <time.h>
#include <iomanip>
#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
using namespace std;
#define re(i, n) for (int i=0; i<n; i++)
#define re1(i, n) for (int i=1; i<=n; i++)
#define re2(i, l, r) for (int i=l; i<r; i++)
#define re3(i, l, r) for (int i=l; i<=r; i++)
#define rre(i, n) for (int i=n-1; i>=0; i--)
#define rre1(i, n) for (int i=n; i>0; i--)
#define rre2(i, r, l) for (int i=r-1; i>=l; i--)
#define rre3(i, r, l) for (int i=r; i>=l; i--)
#define debug(x) cout << #x << " = " << x << endl;
#define pb push_back
#define re_t(i,x) for(typeof(x.begin()) i=x.begin();i!=x.end();i++)
#define all(x) x.begin(),x.end()
#define SORT(x) sort(all(x))
#define MP make_pair
typedef pair<int,int> ii;
typedef vector<int> vi;
typedef vi::iterator vit;
typedef set<int> si;
typedef si::iterator sit;
typedef map<int,int> mii;
typedef mii::iterator mit;
typedef long long ll;
typedef unsigned long long ull;
typedef unsigned int uint;
typedef istringstream ISS;
typedef ostringstream OSS;
const int MAXN = 175000, INF = ~0U >> 2;
class MathContest {
public:
int countBlack(string s0, int p)
{
string s = "";
bool a[MAXN];
re(i, p) s += s0;
int n = s.length(), res = 0;
re(i, n) a[i] = s[i] == 'B';
int i = 0, j = s.length() - 1;
bool reversed = 0, turned = 0, v;
while (i <= j) {
if (reversed) {
v = a[j--];
if (turned) v = !v;
} else {
v = a[i++];
if (turned) v = !v;
}
if (v) {res++; turned = !turned;} else reversed = !reversed;
}
return res;
}
};
SRM 506 DIV2 250:
#include <iostream>
#include <string>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <time.h>
#include <iomanip>
#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
using namespace std;
#define re(i, n) for (int i=0; i<n; i++)
#define re1(i, n) for (int i=1; i<=n; i++)
#define re2(i, l, r) for (int i=l; i<r; i++)
#define re3(i, l, r) for (int i=l; i<=r; i++)
#define rre(i, n) for (int i=n-1; i>=0; i--)
#define rre1(i, n) for (int i=n; i>0; i--)
#define rre2(i, r, l) for (int i=r-1; i>=l; i--)
#define rre3(i, r, l) for (int i=r; i>=l; i--)
#define debug(x) cout << #x << " = " << x << endl;
#define pb push_back
#define re_t(i,x) for(typeof(x.begin()) i=x.begin();i!=x.end();i++)
#define all(x) x.begin(),x.end()
#define SORT(x) sort(all(x))
#define MP make_pair
typedef pair<int,int> ii;
typedef vector<int> vi;
typedef vi::iterator vit;
typedef set<int> si;
typedef si::iterator sit;
typedef map<int,int> mii;
typedef mii::iterator mit;
typedef long long ll;
typedef unsigned long long ull;
typedef unsigned int uint;
typedef istringstream ISS;
typedef ostringstream OSS;
const int MAXN = 10000, INF = ~0U >> 2;
class SlimeXSlimeRancher2 {
public:
int train(vector <int> a)
{
int n = a.size(), m = -INF, res = 0;
re(i, n) m = max(m, a[i]);
re(i, n) res += m - a[i];
return res;
}
};
SRM 506 DIV2 500:
#include <iostream>
#include <string>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <time.h>
#include <iomanip>
#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
using namespace std;
#define re(i, n) for (int i=0; i<n; i++)
#define re1(i, n) for (int i=1; i<=n; i++)
#define re2(i, l, r) for (int i=l; i<r; i++)
#define re3(i, l, r) for (int i=l; i<=r; i++)
#define rre(i, n) for (int i=n-1; i>=0; i--)
#define rre1(i, n) for (int i=n; i>0; i--)
#define rre2(i, r, l) for (int i=r-1; i>=l; i--)
#define rre3(i, r, l) for (int i=r; i>=l; i--)
#define debug(x) cout << #x << " = " << x << endl;
#define pb push_back
#define re_t(i,x) for(typeof(x.begin()) i=x.begin();i!=x.end();i++)
#define all(x) x.begin(),x.end()
#define SORT(x) sort(all(x))
#define MP make_pair
typedef pair<int,int> ii;
typedef vector<int> vi;
typedef vi::iterator vit;
typedef set<int> si;
typedef si::iterator sit;
typedef map<int,int> mii;
typedef mii::iterator mit;
typedef long long ll;
typedef unsigned long long ull;
typedef unsigned int uint;
typedef istringstream ISS;
typedef ostringstream OSS;
const int MAXN = 10000, INF = ~0U >> 2;
class SlimeXSlimesCity {
public:
int merge(vector <int> a)
{
int n = a.size();
SORT(a);
ll s = 0, s1;
int res = 0;
bool ff;
re(i, n) {
s += a[i]; s1 = s; ff = 1;
re2(j, i + 1, n) {
if (s1 < a[j]) {ff = 0; break;}
s1 += a[j];
}
res += ff;
}
return res;
}
};