Feeds:
文章
留言

Archive for 十月 20th, 2005

Judge Onilne 1045 的解答

今天發現一個好玩的網站 Judge Online,裡面有許多程式問題可以來測驗一下你的功力,我今天嘗試解了 1045 ,有興趣的人可以參考看看
 

/*
 * Judge Online 1045 解答
 *
 * 問題描述:http://acm.pku.edu.cn/JudgeOnline/showproblem?problem_id=1045
 * 設計者:Chui-Wen Chiu
 * 開發環境:VC6+Win2K Pro
 * 開發日誌:
 * 2005.10.20 建立
 */
#include <iostream>
#include <cmath>
#include <cstdio>
using std::cerr;
using std::cout;
using std::cin;
using std::endl;
int main(){
 double vs, c, r, w, xc;
 int i,n;
 double* vr = 0; 
 char  buffer[32];
 cin >> vs >> r >> c >> n; 
 if (n>0){
  vr = new double[n];
 }else{
  cout << "no data" << endl;
  return 0;
 }
 for(i=0; i<n; ++i){
  cin >> w;
  if (r == 0 && w == 0 && c == 0){
   cerr << "warning: divide by 0" << endl;
   –i;
   continue;
  }else{
   xc = 1.0f/(w*c);  
   vr[i] = r*vs/(sqrt(r*r + xc*xc ));
  }
 } 
 for(i=0; i<n; ++i){
  sprintf(buffer, "%.3f", vr[i]);
  cout << buffer << endl;
 } 
 if (vr != 0){
  delete []vr;
 }
 return 0;
}
 

Read Full Post »