shinchan(@Sophia_maki)です。
DDCCに24卒枠で決勝行って来ました。
予選
3完。4問目でTSP書いたが間に合わなかった。
なんか通った。
決勝
本番前
前日の朝東京入り。当日の午前3時まで日本酒飲んでた。家主が通話ゲームをずっとしていたためあまり寝れず、コンディションはかなり悪かった。会場入りFA成功。
本番
シミュレーション問題。20点で21位だった。
実機シミュレーション。10点。
実機確認。10点。70発同じところにぶちこんだ(いろんなところにいれると点数上がる)。下から2番目。
実機シミュレーション2。148点。改行で操作分けれることをそこで知る。
実機確認2。136点。30人中9位。阪大内1位。なぜ。
実際に書いたプログラム
最終提出コードが残ってました。
#include <iostream> #include <sstream> #include <cstdio> #include <cstdlib> #include <cmath> #include <ctime> #include <cstring> #include <string> #include <vector> #include <stack> #include <queue> #include <deque> #include <map> #include <set> #include <bitset> #include <numeric> #include <utility> #include <iomanip> #include <algorithm> #include <functional> #define be(v) (v).begin(),(v).end() #define pb(q) push_back(q) #define rep(i, n) for(int i=0;i<n;i++) #define all(i, v) for(auto& i : v) typedef long long ll; using namespace std; const ll mod=1000000007, INF=(1LL<<60); #define doublecout(a) cout<<fixed<<setprecision(10)<<a<<endl; double tt(int y, int x) { double t = atan2(y, x); if(t < 0) { t = -M_PI / 2.0 - t; } else { t = M_PI / 2.0 - t; } t *= 180.0 / M_PI; t *= 1000; return t; } void solve(int i) { vector<int> x(7), y(7); vector<int> xx(3), yy(3); // double sum = 0; rep(i, 7) { cin >> x[i] >> y[i]; // sum += atan2(y[i], x[i]); } // sum /= 7.0; // sum -= M_PI / 2.0; // sum *= 1000.0; rep(i, 3) { cin >> xx[i] >> yy[i]; } cout << "100,0,0," << 0 << ",10,0" << endl; double t = tt(450, 200); cout << "0,0,0," << int(t) << ",10,100" << endl; cout << "0,0,0," << -int(t) << ",10,100" << endl; t = tt(600, 250); cout << "0,0,0," << int(t) << ",10,100" << endl; t = tt(600, -150); cout << "0,0,0," << int(t) << ",10,1000" << endl; t = tt(925, -325); cout << "0,0,0," << int(t) << ",10,1600" << endl; t = tt(600, 250); cout << "1000,0,0," << int(t) << ",10,1000" << endl; } int main() { cin.tie(0); cout.tie(0); ios::sync_with_stdio(false); rep(i, 1) { solve(i); } return 0; }
本番後
優勝者の方にしゃぶしゃぶごちそうになりました。ありがとうございます。