Hだけ・・・あと0016
ちょっとTwitterで@k_operafanさんにご教授いただき、通しました。
#include <iostream> #include <vector> #include <algorithm> #include <cmath> using namespace std; typedef unsigned long long ll; typedef vector<ll> vl; int main() { int n; while (cin>>n&&n!=0) { ll s = n*(n+1)/2; vl odd, even; for (int i=0; i<s; i++) { ll tmp; cin>>tmp; if (tmp%2==0) { even.push_back(tmp); } else { odd.push_back(tmp); } } sort(even.begin(),even.end()); sort(odd.begin(),odd.end()); long double g = sqrt(even[0]/(long double)odd[0]*even[1]); vl res(n); for (int i=0; i<n; i++) { res[i] = even[i]/(ll)(g+1e-8); } cout<<(ll)(g+1e-8)<<endl; for (int i=0; i<n; i++) { if (i!=0) cout << " "; cout << res[i]; } cout << endl; } }
そして0016、通らなくて困っていたのですが…
/*#include <iostream> #include <cstdio> #include <cmath> using namespace std; #define PI 3.1415926535898 #define AG (PI/180.0) int main() { int rad, adv; double x=0.0, y=0.0,dir=0.0; while (scanf("%d%*c%d",&adv,&rad)&&adv!=0.0&&rad!=0.0) { x += (double)adv*sin(dir*AG); y += (double)adv*cos(dir*AG); dir += (double)rad; } printf("%d\n%d\n",(int)x,(int)y); }*/ #include <cstdio> #include <cmath> #define PI 3.1415926535898 #define ANGLE (PI/180.0) int main(){ int step,dir; double x=0.0, y=0.0, angle=0.0; while(1){ scanf("%d,%d", &step, &dir); if(step==0 && dir==0) break; x += (double)(step) * sin( angle*ANGLE ); y += (double)(step) * cos( angle*ANGLE ); angle += (double)dir; } printf("%d\n%d\n", (int)x, (int)y); }
コメントアウトが僕がネットのACコードを参考にして修正加えたのに通らなかったコード。
下がネットにあったやつで実際にACしたもの。
何が違うのか。。。