Skip to content

Commit

Permalink
adding old files from windows
Browse files Browse the repository at this point in the history
  • Loading branch information
aajjbb committed Feb 17, 2015
1 parent 22fb749 commit c251944
Show file tree
Hide file tree
Showing 17 changed files with 612 additions and 345 deletions.
50 changes: 50 additions & 0 deletions Codeforces/BagOfMice.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
#include <bits/stdc++.h>

template<typename T> T gcd(T a, T b) {
if(!b) return a;
return gcd(b, a % b);
}
template<typename T> T lcm(T a, T b) {
return a * b / gcd(a, b);
}

template<typename T> void chmin(T& a, T b) { a = (a > b) ? b : a; }
template<typename T> void chmax(T& a, T b) { a = (a < b) ? b : a; }
int in() { int x; scanf("%d", &x); return x; }

using namespace std;

typedef long long Int;
typedef unsigned uint;

const int MAXN = 1010;

int W, B;

double dp[MAXN][MAXN][2];
bool mm[MAXN][MAXN][2];

double func(int w, int b, int pos) {
if (w == 0) {
return 0.0;
} else {
double& ans = dp[w][b][pos];

if (!mm[w][b][pos]) {
mm[w][b][pos] = 1;

if (pos == 0) {

}
}
}
}

int main(void) {
W = in();
B = in();

memset(mm, false, sizeof(mm));

return 0;
}
49 changes: 49 additions & 0 deletions Codeforces/Nineteen.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
#include <bits/stdc++.h>

template<typename T> T gcd(T a, T b) {
if(!b) return a;
return gcd(b, a % b);
}
template<typename T> T lcm(T a, T b) {
return a * b / gcd(a, b);
}

template<typename T> void chmin(T& a, T b) { a = (a > b) ? b : a; }
template<typename T> void chmax(T& a, T b) { a = (a < b) ? b : a; }
int in() { int x; scanf("%d", &x); return x; }

using namespace std;

typedef long long Int;
typedef unsigned uint;

string S;
string goal = "niet";

int rem[4] = {3, 1, 3, 1};
int sum[512];

int main(void) {
freopen("i.in", "r", stdin);
cin >> S;

for (int i = 0; i < (int) S.size(); i++) {
sum[S[i]] += 1;
}

int ans = INT_MAX / 3;

for (int i = 0; i < 4; i++) {
int now;
if (i == 0) {
now = (sum[goal[i]] / rem[i]) + (sum[goal[i]] % rem[i]) ? 1 : 0;
} else {
now = sum[goal[i]] / rem[i];
}
cout << goal[i] << " " << now << "\n";
ans = min(ans, now);
}

cout << ans << "\n";
return 0;
}
65 changes: 65 additions & 0 deletions Codeforces/StrangeAdition.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
#include <bits/stdc++.h>

template<typename T> T gcd(T a, T b) {
if(!b) return a;
return gcd(b, a % b);
}
template<typename T> T lcm(T a, T b) {
return a * b / gcd(a, b);
}

template<typename T> void chmin(T& a, T b) { a = (a > b) ? b : a; }
template<typename T> void chmax(T& a, T b) { a = (a < b) ? b : a; }
int in() { int x; scanf("%d", &x); return x; }

using namespace std;

typedef long long Int;
typedef unsigned uint;

const int MAXN = 100005;

int N;
int P[MAXN];

int main(void) {
cin >> N;

set<int> ans;
bool ten = false;
for (int i = 0; i < N; i++) {
cin >> P[i];

if (P[i] == 0 || P[i] == 100) {
ans.insert(P[i]);
}
}

sort(P, P + N);

bool A = false, B = false;

for (int i = 0; i < N; i++) {
if (P[i] != 0 && P[i] != 100) {
if (!A && P[i] < 10) {
A = true;
ans.insert(P[i]);
} else if (!B && P[i] >= 10 && (P[i] % 10 == 0 || (!A && ans.count(100)))) {
B = true;
ans.insert(P[i]);
}
}
}

if (ans.size() == 0) {
ans.insert(P[0]);
}

cout << ans.size() << "\n";

for (set<int>::iterator it = ans.begin(); it != ans.end(); it++) {
cout << *it << " ";
}

return 0;
}
47 changes: 46 additions & 1 deletion Codeforces/XeniaAndWeights.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,53 @@ using namespace std;
typedef long long Int;
typedef unsigned uint;

const int MAXN = 1010;

int M;
string has;

int stp[MAXN];

bool dp[MAXN][15][15];

bool func(int id, int last, int bal) {
if (id > 0 && (bal <= 0 || bal > 10)) return false;
if (id == M) return true;

if (!dp[id][last][bal]) {
dp[id][last][bal] = true;

for (int i = 1; i <= 10; i++) if (i != last && has[i - 1] == '1') {
stp[id] = i;

bool curr = func(id + 1, i, i - bal);

if (curr) {
return true;
}
}
}

return false;
}

int main(void) {
//freopen("i.in", "r", stdin);
cin >> has >> M;

bool f = func(0, 0, 0);

memset(dp, false, sizeof(dp));

if (f) {
cout << "YES\n";
for (int i = 0; i < M; i++) {
cout << stp[i] << " ";
}
cout << "\n";
} else {
cout << "NO\n";
}

return 0;
}

2 changes: 2 additions & 0 deletions Codeforces/i.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
nineteenineteen

43 changes: 25 additions & 18 deletions LiveArchive/PaperPresentation.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,36 +18,43 @@ typedef long long Int;
typedef unsigned uint;

int T, N;
char str[20][20];
int x[20];
char str[20][20];
int fat[20];

int main(void) {
freopen("i.in", "r", stdin);
T = in();

int i;
int j;
int j;

fat[1] = 1;

for (int i = 2; i < 20; i++) {
fat[i] = i * fat[i - 1];
}

for ( ; T--; ) {
N = in();

int ans = 0;

for (i = 0; i < 2 * N; i++) {
x[i] = i;
scanf("%s", str[i]);
}
int ans = 0;

do {
bool ok = true;
for (i = 0; i < 2 * N && ok; i++) {
for (j = 0; j < i && ok; j++) {
if (str[i][j] == 'Y') ok = false;
}
}
if (ok) ans += 1;
} while (next_permutation(x, x + (2 * N)));

printf("%d\n", ans);
}

set<int> f;

for (int i = 0; i < 2 * N; i++) {
for (int j = i + 1; j < 2 * N; j++) {
if (str[i][j] == 'Y') {
f.insert(i);
f.insert(j);
}
}
}

printf("\n%d\n", f.size());
}

return 0;
Expand Down
19 changes: 19 additions & 0 deletions LiveArchive/i.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
4
1
NN
YN
2
NNNN
NNNN
NNNN
NNNN
2
NYNN
NNNN
NNNY
NNNN
2
NYYY
YNYY
YYNY
YYYN
67 changes: 67 additions & 0 deletions MainPL/StrangeAdition.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
#include <bits/stdc++.h>

template<typename T> T gcd(T a, T b) {
if(!b) return a;
return gcd(b, a % b);
}
template<typename T> T lcm(T a, T b) {
return a * b / gcd(a, b);
}

template<typename T> void chmin(T& a, T b) { a = (a > b) ? b : a; }
template<typename T> void chmax(T& a, T b) { a = (a < b) ? b : a; }
int in() { int x; scanf("%d", &x); return x; }

using namespace std;

typedef long long Int;
typedef unsigned uint;

const int MAXN = 100005;

int N;
int P[MAXN];

int main(void) {
freopen("i.in", "r", stdin);
cin >> N;

set<int> ans;
bool ten = false;
for (int i = 0; i < N; i++) {
cin >> P[i];

if (P[i] == 0 || P[i] == 100) {
ans.insert(P[i]);
} else if (P[i] % 10 == 0 && !ten) {
ten = true;
ans.insert(P[i]);
}
}

bool A = false, B = false;

for (int i = 0; i < N; i++) {
if (P[i] != 0) {
if (!A && P[i] < 10) {
A = true;
ans.insert(P[i]);
} else if (!B && P[i] > 10 && ans.count(100)) {
B = true;
ans.insert(P[i]);
}
}
}

if (ans.size() == 0) {
ans.insert(P[0]);
}

cout << ans.size() << "\n";

for (set<int>::iterator it = ans.begin(); it != ans.end(); it++) {
cout << *it << " ";
}

return 0;
}
Loading

0 comments on commit c251944

Please sign in to comment.