コード例 #1
0
ファイル: 1006.cpp プロジェクト: shad0w-walker233/ICPC
int main()
{
	//freopen("in.txt","r",stdin);
	//freopen("out.txt","w",stdout);
	int i,j,n;
	int d1=0,d2=0,d3=0,p,min;
	for(i=1;i<=11059200;i++){
		d1+=720;d1%=11059200;
		d2+=12;d2%=11059200;
		d3+=1;
		//printf("%d %d %d\n",d1,d2,d3);
		min=figure(d1,d2);
		p=figure(d2,d3);if(min>p) min=p;
		p=figure(d1,d3);if(min>p) min=p;
		//printf("%d\n",i);
		for(j=0;j<=min;j++)
			ans[j]++;
		}
	/*while(1){
		scanf("%d",&n);
		if(n==-1) return 0;
		if(n>=120) printf("0.000\n");
		else printf("%.3f\n",float(ans[n])/110592);
	}*/
	for(i=0;i<=3686400;i++)
		printf("ans[%d]=%.3f\n",i,float(ans[i])/110592);
 return 0;
}
コード例 #2
0
ファイル: Programme.cpp プロジェクト: YuriiKrat/Pentamimo
void selectFigures(int pentamimo[][5][5]) // Зчитування фігур з файлу
{
	OPENFILENAME ofn;

	char szFileName[MAX_PATH] = "";

	ZeroMemory(&ofn, sizeof(ofn));

	ofn.lStructSize = sizeof(ofn);
	ofn.hwndOwner = NULL;
	ofn.lpstrFilter = (LPCWSTR)L"Text Files (*.txt)\0*.txt\0";
	ofn.lpstrFile = (LPWSTR)szFileName;
	ofn.nMaxFile = MAX_PATH;
	ofn.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
	ofn.lpstrDefExt = (LPCWSTR)L"txt";

	if (GetOpenFileName(&ofn)) // Зчитування фігури
	{
		int n;
		ifstream figure(ofn.lpstrFile);
		for (int k = 0; k < 12; k++) {
			for (int i = 0; i < 5; i++) {
				for (int j = 0; j < 5; j++) {
					figure >> n;
					pentamimo[k][i][j] = n;
				}
			}
		}
		figure.close();
	}
コード例 #3
0
ファイル: rogue.c プロジェクト: BlaMilk/rogue
//ShowField
//現在のマップ全体を出力する デバッグ用
void ShowField() {
    int i,j;
    for(i=0; i<100; i++) {
        for(j=0; j<100; j++)
            figure(field[i][j]);
        printf("\n");
    }
}
コード例 #4
0
int main()
{
  figure();
	int n;
	while(scanf("%d",&n))
	{
		if(n==0)return 0;
		int ans=dp[53][n];
		if(ans<n)ans=n;
		printf("%d\n",ans);
	}
	return 0;
}
コード例 #5
0
shared_ptr<Figure> CurveEditPart::createFigure()
{
    shared_ptr< CurveFigure > figure( new CurveFigure());
    figure->setStartPoint (curve_->getStartPoint());
    figure->setEndPoint (curve_->getEndPoint());
    figure->setStartControlPoint (curve_->getStartControlPoint());
    figure->setEndControlPoint (curve_->getEndControlPoint());
    figure->getStrokeStyle()->setColor (curve_->getLineColor());
    figure->getStrokeStyle()->setLineWidth (curve_->getLineWidth());
    figure->getStrokeStyle()->setLineDashStyle (curve_->getLineDashStyle());
    figure->getStrokeStyle()->setLineDashStyleOffset (curve_->getLineDashStyleOffset());

    return figure;
}
コード例 #6
0
ファイル: rogue.c プロジェクト: BlaMilk/rogue
//output
//主人公周辺のマップを端末出力
void output() {
    int center;	//主人公位置のデータを保管
    int i,j;
    printf(" *   *   *   *   *   *   *\n");
    printf(" *  座標  : x=%2d Y=%2d  *\n",man.x,man.y);
    printf(" * 表\示領域 :   %2d×%2d   * \n",DispAreax,DispAreay);
    printf(" *   *   *   *   *   *   * \n\n");

    center=field[man.x][man.y];
    field[man.x][man.y]=9;

    for(j=0; j<DispAreay; j++) {
        for(i=0; i<DispAreax; i++) {
            figure(field[man.x-radiusx+i][man.y-radiusy+j]);
        }
        printf("\n");
    }

    field[man.x][man.y]=center;	//☆に置き換えたデータを下に戻す
}
コード例 #7
0
ファイル: main.cpp プロジェクト: barrycug/glplot
int main(int argc, char *argv[]) {

	glplot::imagesc c_image;
	glplot::figure figure(c_image);

#if 1
	while(1) {
		double af_tmp[512][16];
		for(int i = 0; i<512; i++) {
			for(int j = 0; j<16; j++) {
			af_tmp[i][j] = 512.0*sin(M_PI*2.0*i/512)/*+100.0*rand()/RAND_MAX*/; //sin(i);
			}
		}
		//_c_plot.f_plot(af_tmp, 512);
		c_image.f_plot((double*)af_tmp, 512, 16);
		break;
	}
#endif

	return figure.f_wait();
}
コード例 #8
0
//---------------------------------------------------------
void TestPoissonIPDG3D::Run()
//---------------------------------------------------------
{
  umLOG(1, "TestPoissonIPDG3D::Run()\n");
  double wt1=timer.read();

  // Initialize solver and construct grid and metric
  StartUp3D();

#if (0)
  //-------------------------------------
  // check the mesh
  //-------------------------------------
  Output_Mesh();
  umLOG(1, "\n*** Exiting after writing mesh\n\n");
  return;
#endif

  // sparse operators
  CSd A("OP"), M("MM");

  // build 3D IPDG Poisson matrix (assuming all Dirichlet)
  PoissonIPDG3D(A, M);

  if (0) {
    // NBN: experiment with diagonal strength
    int Nz=0;
    for (int j=0; j<A.n; ++j) {
      for (int p = A.P[j]; p<A.P[j+1]; ++p) {
        if (A.I[p] == j) {
          A.X[p] += A.X[p]; // augment A(i,j)
        }
      }
    }
  }

  if (0) {
    umLOG(1, "Dumping file Afull.dat for Matlab\n");
    umLOG(1, "A(%d,%d), nnz = %d\n", A.m,A.n, A.P[A.n]);
    FILE* fp=fopen("Afull.dat", "w");
    A.write_ML(fp);
    fclose(fp);
    umLOG(1, "exiting.\n");
    return;
  }

  // iterative solver
  CS_PCG it_sol;

  try 
  {
    // Note: operator A is symmetric, with only its 
    // lower triangule stored.  We use this symmetry 
    // to accelerate operator A*x

    int flag=sp_SYMMETRIC; flag|=sp_LOWER; flag|=sp_TRIANGULAR;

    A.set_shape(flag);

    // drop tolerance for cholinc
    double droptol=1e-4;

    // Note: ownership of A is transfered to solver object
    it_sol.cholinc(A, droptol);

  } catch(...) {
    umLOG(1, "\nCaught exception from symbolic chol.\n");
  }


  DVec exact("exact"), f("f"), rhs("rhs"), u("u");
  double t1=0.0,t2=0.0;

  //-------------------------------------------------------
  // set up boundary condition 
  //-------------------------------------------------------
  DVec xbc = Fx(mapB), ybc = Fy(mapB), zbc = Fz(mapB);
  DVec ubc(Nfp*Nfaces*K);
  ubc(mapB) = sin(pi*xbc) * sin(pi*ybc) * sin(pi*zbc);

  //-------------------------------------------------------
  // form right hand side contribution from boundary condition
  //-------------------------------------------------------
  DMat Abc = PoissonIPDGbc3D(ubc);

  //-------------------------------------------------------
  // evaluate forcing function
  //-------------------------------------------------------
  exact = sin(pi*x).dm(sin(pi*y).dm(sin(pi*z)));
  f = (-3.0*SQ(pi)) * exact;

  //-------------------------------------------------------
  // set up right hand side for variational Poisson equation
  //-------------------------------------------------------
  rhs = M*(-f) + (DVec&)(Abc);

  //-------------------------------------------------------
  // solve using pcg iterative solver
  //-------------------------------------------------------
  t1 = timer.read();
  u  = it_sol.solve(rhs, 1e-9, 30);
  t2 = timer.read();

  //-------------------------------------------------------
  // compute nodal error
  //-------------------------------------------------------
  r = (u-exact);
  m_maxAbsError = r.max_val_abs();

  umLOG(1, "  solve -- done. (%0.4lf sec)\n\n", t2-t1);
  umLOG(1, "  max error = %g\n\n", m_maxAbsError);

#if (0)
  //#######################################################
  // plot solution and error
  figure(2);
  subplot(1,3,2); PlotContour3D(2*N, u, linspace(-1, 1, 10)); title('numerical solution');
  subplot(1,3,3); PlotContour3D(2*N, log10(eps+abs(u-exact)), linspace(-4, 0, 10)); 
  title('numerical error');
  //#######################################################
#endif

  double wt2=timer.read();
  umLOG(1, "TestPoissonIPDG3D::Run() complete\n");
  umLOG(1, "total time = %0.4lf sec\n\n", wt2-wt1);
}
コード例 #9
0
ファイル: aftest.cpp プロジェクト: jonstewart/afflib
int main(int argc,char **argv)
{
    progname = argv[0];
    int do_bugs = 0;
    int do_sequential = 0;
    int do_reverse    = 0;
    int do_random_write_test = 0;
    int do_random_read_test  = 0;
    int do_large_file = 0;
    int do_maxsize_test = 0;
    int random_repeat = 1;
    int do_sparse_test = 0;
    int do_all=0;
    int do_image_test =1;
    int ch;

    const char *bigdir = getenv(AFFLIB_BIGTMP);	// use by default

    if(bigdir) tempdir = bigdir;

    setvbuf(stdout,0,_IONBF,0);
    //putenv(AFFLIB_CACHE_STATS"=1");

    if(argc==1){
	printf("running all tests with -a option (exception bigfile test)\n");
	do_all = 1;
    }

    while ((ch = getopt(argc, argv, "b123456aBLd:h?f:e:c:TCp:rx:R:z:tn:D:S:")) != -1) {
	switch(ch){
	case 'D': af_trace = fopen(optarg,"w");break;
	case 'R': readfile_test(optarg); break;
	case 'b':
	    do_bugs = 1;
	    break;
	case '1':
	    do_sequential = 1;
	    break;
	case '2':
	    do_reverse = 1;
	    break;
	case '3':
	    do_random_write_test = 1;
	    break;
	case '4':
	    do_random_read_test = 1;
	    break;
	case '5':
	    do_maxsize_test = 1;
	    break;
	case '6': do_sparse_test = 1; break;
	case 'l':
	    random_repeat = atoi(optarg);
	    break;
	case 'B':
	    do_large_file = 1;
	    break;
	case 'n': MAX_FMTS = atoi(optarg); break;
	case 't': time_test(); break;
	case 'L': opt_compression_type = AF_COMPRESSION_ALG_LZMA; break;
	case 'T': lzma_test(); break;
	case 'r': rsatest(); break;
	case 'a':
	    do_all = 1;
	    break;
	case 'z':
	    zap(optarg);break;
	case 'd': tempdir = optarg; break;
	case 'f': figure(optarg); break;
	case 'e': opt_ext = optarg; break;
	case 'c': compress(optarg); break;
	    
	case 'p': opt_protocol = optarg; break;
	case 'x': xmltest(optarg);break;
	case 'C': aestest(); break;
	case 'i': do_image_test=1;break;
	case 'S': split_raw_test(optarg);exit(0);
	case 'h':
	case '?':
	default:
	    usage();
	}
    }
	
    if(do_bugs || do_all) bugs_test();
    if(do_sequential || do_all) sequential_test();
    if(do_reverse || do_all ) reverse_test();
    if(do_maxsize_test || do_all) maxsize_test();
    if(do_sparse_test || do_all) sparse_test();
    if(do_image_test || do_all) image_test();

    for(int i=0;i<random_repeat;i++){
	if(do_random_read_test  || do_all) random_read_test(256*1024,rand() % 65536); 
	if(do_random_write_test || do_all) random_write_test();
    }

    if(do_large_file) large_file_test();

    /* Now erase the files ... */
    unlink("test_random.aff");
    unlink("test_reverse.aff");
    unlink("test_random_contents.aff");
    unlink("test_sequential.aff");
    unlink("bugs.aff");
    unlink("test_random_contents.img");
    unlink("sparse.aff");
    return 0;
}
コード例 #10
0
int main(int argc, char* argv[])
{
    Handle<es::Context> nameSpace = System()->getRoot();

    Handle<es::Stream> framebuffer(nameSpace->lookup("device/framebuffer"));
    void* mapping = System()->map(0, framebuffer->getSize(),
                                  es::CurrentProcess::PROT_READ | es::CurrentProcess::PROT_WRITE,
                                  es::CurrentProcess::MAP_SHARED,
                                  Handle<es::Pageable>(framebuffer), 0);

    // Register canvas
    cairo_surface_t* surface;
    CanvasInfo canvasInfo;
    canvasInfo.x = 0;
    canvasInfo.y = 0;
    canvasInfo.width = 1024;
    canvasInfo.height = 768;
    canvasInfo.format = CAIRO_FORMAT_ARGB32;    // or CAIRO_FORMAT_RGB24
    // surface = cairo_image_surface_create(canvasInfo.format, canvasInfo.width, canvasInfo.height);
    surface = cairo_image_surface_create_for_data(
        static_cast<u8*>(mapping), canvasInfo.format , canvasInfo.width, canvasInfo.height,
        sizeof(u32) * canvasInfo.width);
    Canvas* canvas = new Canvas(surface, canvasInfo.width, canvasInfo.height);
    ASSERT(canvas);
    Handle<es::Context> device = nameSpace->lookup("device");
    device->bind("canvas", static_cast<es::CanvasRenderingContext2D*>(canvas));
    ASSERT(nameSpace->lookup("device/canvas"));

    esReport("start canvas.\n");

    if (argc < 2)
    {
        figure(canvas);
        // transform(canvas);
#ifndef __es__
        esSleep(40000000);
#endif
    }
    else
    {
        // Create a child process.
        Handle<es::Process> child = es::Process::createInstance();
        TEST(child);

        // Start the child process.
        std::string param;
        for (int i = 1; i < argc; ++i) {
            param += argv[i];
            param += " ";
        }
        Handle<es::File> file = nameSpace->lookup(argv[1]);
        if (file)
        {
            child->setRoot(nameSpace);
            child->setCurrent(nameSpace);
            child->start(file, param.c_str());
            child->wait();
        }
    }

    System()->unmap(mapping, framebuffer->getSize());

    canvas->release();

    esReport("quit canvas.\n");
}