zoukankan      html  css  js  c++  java
  • acm 题,用二分法做的

    #include <stdio.h>
    int binary_search( int num[], int t ,int begin, int end ){
            int left = begin;
            int right = end;       
            while( left<= right ){
                    int mid = (left+right)/2;
                    if( t == num[mid] ){
                            return 1;
                    }else if( t > num[mid] ){
                            left = mid+1;
                    }else {
                            right = mid-1;
                    }
            }
            return 0;
    }
    int main(){
            int a[1000000];
            int m,n;
            int target;
            while( scanf("%d%d",&m,&n) != EOF ){
                    scanf("%d",&target);
                    for( int i=0;i<m;i++){
                            for( int j=0;j<n;j++){
                                    scanf("%d",&a[n*i+j]);
                            }
                    }
                    if( binary_search(a,target,0,m*n-1) ){
                            printf("Yes ");
                    }else{
                            printf("No ");
                    }
            }
            return 0;
    }

  • 相关阅读:
    亨元模式
    模板方法模式
    组合模式
    命令模式
    Android AIDL使用介绍(2)自定义数据类型的传递*
    Android主线程(ActivityThread)源代码分析
    一个简单的死锁代码*
    ABA问题的本质及其解决办法*
    Java 多线程Atomic 与CAS 原理剖析*
    Java并发编程:volatile关键字解析*
  • 原文地址:https://www.cnblogs.com/xiao-wei-wei/p/3354611.html
Copyright © 2011-2022 走看看