zoukankan      html  css  js  c++  java
  • 神经网络

    http://www.luogu.org/problem/show?pid=1038

    noip2003第一题:汗,坑爹,做不来(-_-)||.就是符号坑我。

    #include <iostream>
    #include <fstream>
    using namespace std;
    //#define  cin fin 
    //#define  cout fout
    ifstream fin("fin.in");
    ofstream fout("fout.out"); 
    int n,p;                             //n是网络中所有神经元的数目,p表示边;
    int f[101]={0},j[101]={0},k[101][101]={0};
    int w[101]={0},z[101][101]={0};     // f[]: 神经元i最初状态; j[]: 其阈值(Ui) k[][]: 边 
    void input()                       //输入函数 
    {
      fin>>n>>p;
      for(int i=1;i<=n;i++)
      fin>>f[i]>>j[i];
      int m,y,x;
      for(int i=1;i<=p;i++)
      {
         fin>>m>>y>>x;
         k[m][y]=x;
         z[m][y]=1;
      }
    }
    void abc(int i)
    {
         int y=1;
       for(int x=1;x<=n;x++)
       {                 
         if(z[i][x]){                                    //找到与此神经元相连的下一层神经元
                       f[x]=k[i][x]*f[i]-j[x];   
                       if(f[x]>0)             //如果f[x]>0 则神经元向下一层输出信号(即再次调用abc( );) 
                       abc(x);
                       f[x]=0;
                       y=0;
                     }
       }
       if(y) w[i]=f[i];
    }
    void algorithm()
    {
      for(int i=1;i<=n;i++)     
      {
         if(f[i]>0)  abc(i);   //找到输入层在调用函数 abc(输入层序号); 
      }  
    }
    void output()             
    { 
       int m=1;
       for(int i=1;i<=n;i++)
       if(w[i]>0)  {m=0;fout<<i<<" "<<w[i]<<"
    ";} 
       if(m)  fout<<"NULL";
    }
    int main()
    {
       input();
       algorithm();  //algorithm:算法 
       output();
    }

    偶的代码,完败啊!!!

  • 相关阅读:
    无题..
    让Windows 2003 Server支持ASP程序
    下雪
    比较经典的.NET基础
    XML几种操作
    某年某月有几天
    .NET操作Word(傻瓜型)
    XML 简单操作
    一首歌
    ASP.NET:掌握Web窗体的生命周期与状态管理(摘自网络)
  • 原文地址:https://www.cnblogs.com/1234----/p/5175369.html
Copyright © 2011-2022 走看看