POJ 2947 Widget Factory 高斯消元

本文介绍如何运用高斯消元法解决模7同余方程组问题。当遇到无解、多解或唯一解的情况时,如何进行判断和求解。
摘要由CSDN通过智能技术生成

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove

继续高斯消元

建立方程

A11*X1+A12*X2+……A1N*XN同余B1%7

A21*X1+A22*X2+……A2N*XN同余B2%7


AM1*X1+AM2*X2+……AMN*XN同余BM%7

然后便是高斯消元解这个方程,

无解情况,出现一行系统全为0,等式右边却不为0。

多解情况,变元个数大于方程个数

否则为一解情况,解出方程的解便可

/*
ID:cxlove
PROB:poj 2947
DATA:2012.3.31
HINT:高斯消元
*/
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int n,m;
int a[305][305];
int change(char s[10]){
	if(strcmp(s,"MON")==0)
		return 1;
	else if(strcmp(s,"TUE")==0)
		return 2;
	else if(strcmp(s,"WED")==0)
		return 3;
	else if(strcmp(s,"THU")==0)
		return 4;
	else if(strcmp(s,"FRI&#
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要将一个数据库传入一个 Widget,你可以使用以下步骤: 1. 在你的数据库文件中,创建一个类来处理数据库连接和查询。 2. 在你的 Widget 中,创建一个变量来保存数据库连接。 3. 在 WidgetinitState() 方法中,初始化数据库连接,并将数据库连接赋值给变量。 4. 在 Widget 的 dispose() 方法中,关闭数据库连接。 5. 在 Widget 中使用数据库查询方法来获取数据。 这样,你就可以在 Widget 中使用数据库了。以下是一个示例代码: ```dart import 'package:flutter/material.dart'; import 'package:path/path.dart'; import 'package:sqflite/sqflite.dart'; class MyDatabase { static final MyDatabase _singleton = MyDatabase._internal(); static Database _database; factory MyDatabase() { return _singleton; } MyDatabase._internal(); static Future<Database> get database async { if (_database != null) { return _database; } _database = await _initDatabase(); return _database; } static Future<Database> _initDatabase() async { String databasesPath = await getDatabasesPath(); String path = join(databasesPath, 'my_database.db'); return openDatabase( path, version: 1, onCreate: (Database db, int version) async { await db.execute( 'CREATE TABLE my_table (id INTEGER PRIMARY KEY, name TEXT)', ); }, ); } static Future<List<Map<String, dynamic>>> query(String sql) async { Database db = await MyDatabase.database; return db.rawQuery(sql); } } class MyWidget extends StatefulWidget { @override _MyWidgetState createState() => _MyWidgetState(); } class _MyWidgetState extends State<MyWidget> { Database _database; @override void initState() { super.initState(); _initDatabase(); } void _initDatabase() async { _database = await MyDatabase.database; } @override void dispose() { _database.close(); super.dispose(); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('My Widget'), ), body: Center( child: FutureBuilder<List<Map<String, dynamic>>>( future: MyDatabase.query('SELECT * FROM my_table'), builder: (BuildContext context, AsyncSnapshot<List<Map<String, dynamic>>> snapshot) { if (snapshot.hasData) { return ListView.builder( itemCount: snapshot.data.length, itemBuilder: (BuildContext context, int index) { return ListTile( title: Text(snapshot.data[index]['name']), ); }, ); } else if (snapshot.hasError) { return Text('Error: ${snapshot.error}'); } else { return CircularProgressIndicator(); } }, ), ), ); } } ``` 在这个示例代码中,我们创建了一个 MyDatabase 类来处理数据库连接和查询。在 MyWidget 中,我们使用 initState() 方法来初始化数据库连接,并使用 dispose() 方法来关闭数据库连接。在 build() 方法中,我们使用 FutureBuilder 来获取数据库查询结果,并将结果显示在 ListView 中。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值