发表于 2017-11-18 21:11

申请会员ID:Kevin_Red

1、申 请 I D:Kevin_Red
2、个人邮箱:609760471@qq.com
3、原创技术文章:
计算机专业本科生,喜爱编程
操作系统Dijkstra算法的java语言实现:
import java.util.Scanner;
public class Main {
    //数据结构定义
    public static int n,m;                        //n是进程个数,m是资源个数
    public static int sum=0;                  //安全序列个数
    public static int[] Available;                //可利用资源向量
    public static int[][] Max;                  //最大需求矩阵
    public static int[][] Allocation;            //分配情况矩阵
    public static int[][] Need;                  //需求矩阵
    public static boolean[] Finish;                //状态向量
    public static int[] Safe;                  //安全序列向量
    public static int[] Work;                  //工作向量
    public static int[] a;                        //全排列序列
    public static int[] book;                  //标记数组
    public static int sign=0;                  //标记变量
    //全排列
    public static void dfs(int step){
      if(step==n+1){
            if(safe()){
                if(sum!=0&&sign==0){
                  System.out.println("SAFE");
                  sign=1;
                }
                System.out.printf("%2d : ",sum);
                for(int i=1;i<=n;i++)
                  System.out.print(a+" ");
                System.out.println();
            }
            return;
      }
      for(int i=1;i<=n;i++){
            if(book==0){
                book=1;
                a=i;
                dfs(step+1);
                book=0;
            }
      }
      return;
    }
    //检测是否能够运行(Need<=Work)
    public static boolean search(int p){
      for(int i=1;i<=m;i++)
            if(Need>Work)
                return false;
      return true;
    }
    //安全性算法
    public static boolean safe(){
      Work=new int ;
      for(int i=1;i<=m;i++)                            //初始化工作向量
            Work=Available;
      for(int i=1;i<=n;i++)
            Finish=false;
      for(int i=1;i<=n;i++){
            if(Finish]==false&&search(a)){
                Finish]=true;
                for(int j=1;j<=m;j++)                  //运行完毕释放资源
                  Work+=Allocation];
            }
            else
                return false;
      }
      sum++;
      return true;
    }
    public static void main(String[] args){
      Scanner input =new Scanner(System.in);
      //数据结构初始化
      n=input.nextInt();
      m=input.nextInt();
      int[] Request=new int;
      Available=new int;
      Max=new int;
      Allocation=new int;
      Need=new int;
      Finish=new boolean;
      a=new int;
      book=new int;
      //数据初始化
      for(int i=1;i<=m;i++)
            Available=input.nextInt();
      for(int i=1;i<=n;i++)
            for(int j=1;j<=m;j++)
                Allocation=input.nextInt();
      for(int i=1;i<=n;i++)
            for(int j=1;j<=m;j++)
                Need=input.nextInt();
      for(int i=1;i<=m;i++)
                Finish=false;
      for(int i=1;i<=n;i++)
            for(int j=1;j<=m;j++)
                Max=Need+Allocation;
      //请求输入
      int p=input.nextInt();
      for(int i=1;i<=m;i++)
            Request=input.nextInt();
      //分配资源
      boolean flag=true;
      for(int i=1;i<=m;i++)            //检测是否运行出错
            if(Request>Available&&Request>Need){
                flag=false;
                break;
            }
      if(flag){                        //如果没有错试着分配
            for(int i=1;i<=m;i++){
                Available-=Request;
                Need-=Request;
                Allocation+=Request;
            }
            dfs(1);                     //寻找安全序列
      }
      if(sign==0)
            System.out.print("UNSAFE");
    }
}
双十一购物津贴最优解计算c语言版:
#include<stdio.h>
#include<string.h>
#include<malloc.h>
int * book,* a,* waymax,* amax;
float * cny;
int num,max=0,mmax=0,flag=0;
void check(int * a){
    int way;
    float maxtemp=0;
    int i=1,j=1;
    while(i<=num){
      while(maxtemp<400&&i<=num){
            maxtemp+=cny];
      }
      if(maxtemp>=400)
            way=i-1;
      else
            way=i-1;
      maxtemp=0;
    }
    j--;
    if(j>=max){
      max=j;
      mmax=0;
      for(i=1;i<=j;i++)
            waymax=way;
      for(i=1;i<=num;i++)
            amax=a;
    }
    else
      mmax++;
    if(mmax==800)
      flag=1;
}
void dfs(int step){
    if(flag==1)
      return;
    if(step==num+1){
      check(a);
      return;
    }
    for(int i=1;i<=num;i++){
      if(book==0){
            book=1;
            a=i;
            dfs(step+1);
            book=0;
      }
    }
    return;
}
int main(){
    int i;
    printf("请输入您购买商品的数量:");
    scanf("%d",&num);
    cny=(float *)malloc(sizeof(float)*(num+5));
    book=(int *)malloc(sizeof(int)*(num+5));
    a=(int *)malloc(sizeof(int)*(num+5));
    amax=(int *)malloc(sizeof(int)*(num+5));
    waymax=(int *)malloc(sizeof(int)*(num+5));
    for(i=1;i<=num;i++){
      printf("请输入第%d个商品的价格:",i);
      scanf("%f",&cny);
    }
    for(int k=1;k<=num;k++)
      book=0;
    dfs(1);
    printf("最多可以减%d\n",max*50);
    waymax=0;
    float sum=0;
    for(i=1;i<=max;i++){
            for(int j=waymax+1;j<=waymax;j++){
                printf("%d ",amax);
                sum+=cny];
            }
      printf("一起买,需要花费%.2f元\n",sum-50);
      sum=0;
    }
    getchar();getchar();
    return 0;
}
双十一红包分析:
#include<stdio.h>
int main(){
    float a;
    int t=1,j,i;                                    
    float n,temp,sum=0;                              
    scanf("%f",&n);                                        //变量输入
    while(n>0){
      a=n;
      sum+=n;
      scanf("%f",&n);
    }
    printf("您有%d个红包,总价值%.2f\n",t-1,sum);
    for(i=1;i<t-1;i++)                              //排序
      for(j=1;j<t-i;j++){
            if(a<a){
                temp=a;
                a=a;
                a=temp;
            }
      }
    printf("其中:\n") ;                            //分析总数以及每个面额的数量
    int count=0;
    int k=1;
    for(i=1;i<t;i++){
      if(a>a||a<a){
            printf("有%d个%.2f元的红包\n",count,a);
            count=0;
            k=i;
            count++;
      }
      else{
            count++;
      }      
    }
    printf("有%d个%.2f元的红包\n",count,a);
    int order;                      //分析需要几个订单可以用完以及每个订单可用多少
    (t-1)%10==0?order=(t-1)/10:order=((t-1)/10)+1;
    printf("您需要%d笔订单可以使用所有红包\n",order);
    printf("具体的:\n") ;
    for(i=1;i<=order;i++){
      sum=0;
      for(j=i*10-9;j<=i*10&&j<t;j++)
            sum+=a;
      printf("第%d笔订单可以使用红包%.2f元\n",i,sum);
    }
    getchar();getchar();
    return 0;
}



Hmily 发表于 2017-11-21 11:07

抱歉,未能达到申请要求,申请不通过,可以关注论坛官方微信(吾爱破解论坛),等待开放注册通知。

发表于 2017-11-21 16:06

Hmily 发表于 2017-11-21 11:07
抱歉,未能达到申请要求,申请不通过,可以关注论坛官方微信(吾爱破解论坛),等待开放注册通知。

你好,是因为缺少什么,还可以贴出一些实际问题解题的代码

Hmily 发表于 2017-11-21 16:22

游客 124.130.164.x 发表于 2017-11-21 16:06
你好,是因为缺少什么,还可以贴出一些实际问题解题的代码

你可以参考现有精华标准发申请。
页: [1]
查看完整版本: 申请会员ID:Kevin_Red