From 5674d77d91adabd13f90399dba1abe1b7cb86363 Mon Sep 17 00:00:00 2001
From: Bruno Freitas Tissei <bft15@inf.ufpr.br>
Date: Fri, 28 Jun 2019 18:00:31 -0300
Subject: [PATCH] Add URI1130

Signed-off-by: Bruno Freitas Tissei <bft15@inf.ufpr.br>
---
 contests/Cadernaveis/URI1130.cpp |  79 +++++++++++++++++++++++++++++++
 contests/SBC16/a.out             | Bin 23184 -> 0 bytes
 2 files changed, 79 insertions(+)
 create mode 100644 contests/Cadernaveis/URI1130.cpp
 delete mode 100755 contests/SBC16/a.out

diff --git a/contests/Cadernaveis/URI1130.cpp b/contests/Cadernaveis/URI1130.cpp
new file mode 100644
index 0000000..1d02342
--- /dev/null
+++ b/contests/Cadernaveis/URI1130.cpp
@@ -0,0 +1,79 @@
+#include <bits/stdc++.h>
+
+#define MAX 10101
+#define EPS 1e-6
+#define MOD 1000000007
+#define inf 0x3f3f3f3f
+#define llinf 0x3f3f3f3f3f3f3f3f
+
+#define fi first
+#define se second
+#define pb push_back
+#define ende '\n'
+
+#define all(x) (x).begin(), (x).end()
+#define rall(x) (x).rbegin(), (x).rend()
+#define mset(x, y) memset(&x, (y), sizeof(x))
+
+using namespace std; 
+
+using ll = long long;
+using ii = pair<int,int>;
+
+int dp[MAX];
+//int foi[MAX];
+
+int solve(int n) {
+  if (n < 5) 
+    return 0;
+  if (dp[n] != -1)
+    return dp[n];
+
+  vector<int> foi(MAX, 0);
+  for (int j = 2; j < n - 2; ++j)
+    foi[solve(j) ^ solve(n - 1 - j)] = 1;
+
+  for (int j = 0; j < MAX; ++j)
+    if (!foi[j]) {
+      dp[n] = j;
+      break;
+    }
+
+  return dp[n];
+}
+
+int main() {
+  ios::sync_with_stdio(0);
+  cin.tie(0);
+
+  int n;
+  mset(dp, -1);
+  while (cin >> n && n) {
+    string s; cin >> s;
+
+    bool done = false;
+    for (int i = 1; i < n; ++i)
+      if (s[i] == 'X' && s[i-1] == 'X') done = true;
+    for (int i = 2; i < n; ++i)
+      if (s[i] == 'X' && s[i-2] == 'X') done = true;
+
+    if (done) {
+      cout << 'S' << ende;
+      continue;
+    }
+
+    int ans = 0;
+    int last = -3;
+    for (int i = 0; i < n; ++i) {
+      if (s[i] == 'X') {
+        ans ^= solve(i-last-1);
+        last = i;
+      }
+    }
+
+    ans ^= solve(n-last+1);
+    cout << (ans ? 'S' : 'N') << endl;
+  }
+
+  return 0;
+}
diff --git a/contests/SBC16/a.out b/contests/SBC16/a.out
deleted file mode 100755
index 71cabd06f9608efa44779b2b5837c4fbe534a032..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 23184
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
OFW+KFIBg2HsPez73ZJL|

-- 
GitLab