夢追い人

"It takes a dreamer to make a dream come true."―Vincent Willem van Gogh

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したもの。

何が違うのか。。。

広告を非表示にする